Help us shape the future of Go! Take the 2026 Go Developer Survey

appforges

package module
v0.66.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 14, 2026 License: MIT Imports: 8 Imported by: 0

README

AppForges Go SDK

Official standard-library-only SDK. Requires Go 1.23 or newer.

Install: go get github.com/appforges/appforges-sdk-go@v0.66.0

Generated from the matching OpenAPI specification tag; JSON fields retain wire snake_case names.

client, err := appforges.NewClient(runtime.WithBearerToken(os.Getenv("APPFORGES_ACCESS_TOKEN")))
if err != nil { panic(err) }
defer client.Close()
profile, err := client.Users.GetProfile(context.Background())

Import appforges "github.com/appforges/appforges-sdk-go" and "github.com/appforges/appforges-sdk-go/runtime". Every API accepts a context. Errors support errors.As; retries honor Retry-After. Optional fields use runtime.Some and runtime.Null to distinguish absence and null. Pagination uses iter.Seq2, and SSE closes connections on early termination.

Documentation

Overview

Code generated by sdk-gen. DO NOT EDIT.

Code generated by sdk-gen. DO NOT EDIT.

Code generated by sdk-gen. DO NOT EDIT.

Code generated by sdk-gen. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIError

type APIError = runtime.APIError

type APIKey

type APIKey struct {
	AllowedScopes runtime.Optional[[]string] `json:"allowed_scopes"`
	AppId         runtime.Optional[string]   `json:"app_id"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// ExpiresAt Zero value = never expires
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	KeyId     runtime.Optional[string]    `json:"key_id"`
	// KeyPrefix First 8 chars for identification, e.g. "ak_live_"
	KeyPrefix runtime.Optional[string] `json:"key_prefix"`
	// LastUsedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	LastUsedAt runtime.Optional[Timestamp] `json:"last_used_at"`
	// Name Human-readable label, e.g. "Production Key"
	Name runtime.Optional[string] `json:"name"`
	// RateLimit Requests per minute; 0 = platform default
	RateLimit runtime.Optional[int64] `json:"rate_limit"`
	// Status APIKeyStatus represents the lifecycle state of an API key.
	Status runtime.Optional[APIKeyStatus] `json:"status"`
}

APIKey APIKey represents a developer's API key credential.

func (APIKey) MarshalJSON

func (v APIKey) MarshalJSON() ([]byte, error)

func (*APIKey) UnmarshalJSON

func (v *APIKey) UnmarshalJSON(data []byte) error

type APIKeyStatus

type APIKeyStatus string

APIKeyStatus APIKeyStatus represents the lifecycle state of an API key.

const (
	APIKeyStatusAPIKEYSTATUSUNSPECIFIED APIKeyStatus = "API_KEY_STATUS_UNSPECIFIED"
	APIKeyStatusAPIKEYSTATUSACTIVE      APIKeyStatus = "API_KEY_STATUS_ACTIVE"
	APIKeyStatusAPIKEYSTATUSREVOKED     APIKeyStatus = "API_KEY_STATUS_REVOKED"
	APIKeyStatusAPIKEYSTATUSEXPIRED     APIKeyStatus = "API_KEY_STATUS_EXPIRED"
)

func (APIKeyStatus) MarshalJSON

func (v APIKeyStatus) MarshalJSON() ([]byte, error)

func (*APIKeyStatus) UnmarshalJSON

func (v *APIKeyStatus) UnmarshalJSON(data []byte) error

type AbortUploadRequest

type AbortUploadRequest struct {
	// UploadId Required. Unfinished upload session to abort.
	UploadId string `json:"upload_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (AbortUploadRequest) MarshalJSON

func (v AbortUploadRequest) MarshalJSON() ([]byte, error)

func (*AbortUploadRequest) UnmarshalJSON

func (v *AbortUploadRequest) UnmarshalJSON(data []byte) error

type AbortUploadResponse

type AbortUploadResponse struct {
	// Upload Required. Durable upload session in the ABORTED state.
	Upload *UploadSession `json:"upload"`
}

func (AbortUploadResponse) MarshalJSON

func (v AbortUploadResponse) MarshalJSON() ([]byte, error)

func (*AbortUploadResponse) UnmarshalJSON

func (v *AbortUploadResponse) UnmarshalJSON(data []byte) error

type AccountStorageProtection

type AccountStorageProtection struct {
	// CostSummary (OPTIONAL) Conditional. Present when a current settled storage fact exists.
	CostSummary runtime.Optional[*CostSummary] `json:"cost_summary"`
	// ExpiresAt (OPTIONAL) Conditional. Required in PROTECTED or EXPIRY_CLEANUP.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	// LastCheckedAt Required. Time the server last recalculated the state from billing facts.
	LastCheckedAt Timestamp `json:"last_checked_at"`
	// ProtectedAt (OPTIONAL) Conditional. Required in PROTECTED or EXPIRY_CLEANUP.
	ProtectedAt runtime.Optional[Timestamp] `json:"protected_at"`
	// Reason Required. Stable reason for the current state.
	Reason AccountStorageProtectionReason `json:"reason"`
	// RemainingSeconds Required. Server-computed nonnegative seconds; zero outside PROTECTED.
	RemainingSeconds string `json:"remaining_seconds"`
	// State Required. Persisted storage protection state.
	State AccountStorageProtectionState `json:"state"`
}

AccountStorageProtection AccountStorageProtection is the authoritative user-scoped singleton that

tells clients whether hosted content remains protected.

func (AccountStorageProtection) MarshalJSON

func (v AccountStorageProtection) MarshalJSON() ([]byte, error)

func (*AccountStorageProtection) UnmarshalJSON

func (v *AccountStorageProtection) UnmarshalJSON(data []byte) error

type AccountStorageProtectionReason

type AccountStorageProtectionReason string

AccountStorageProtectionReason AccountStorageProtectionReason is the stable reason for the current account

storage protection state.
const (
	AccountStorageProtectionReasonACCOUNTSTORAGEPROTECTIONREASONUNSPECIFIED              AccountStorageProtectionReason = "ACCOUNT_STORAGE_PROTECTION_REASON_UNSPECIFIED"
	AccountStorageProtectionReasonACCOUNTSTORAGEPROTECTIONREASONNORMALACCOUNT            AccountStorageProtectionReason = "ACCOUNT_STORAGE_PROTECTION_REASON_NORMAL_ACCOUNT"
	AccountStorageProtectionReasonACCOUNTSTORAGEPROTECTIONREASONSTORAGEPERIODSETTLED     AccountStorageProtectionReason = "ACCOUNT_STORAGE_PROTECTION_REASON_STORAGE_PERIOD_SETTLED"
	AccountStorageProtectionReasonACCOUNTSTORAGEPROTECTIONREASONSTORAGEADJUSTMENTSETTLED AccountStorageProtectionReason = "ACCOUNT_STORAGE_PROTECTION_REASON_STORAGE_ADJUSTMENT_SETTLED"
	AccountStorageProtectionReasonACCOUNTSTORAGEPROTECTIONREASONBALANCEGRACE             AccountStorageProtectionReason = "ACCOUNT_STORAGE_PROTECTION_REASON_BALANCE_GRACE"
	AccountStorageProtectionReasonACCOUNTSTORAGEPROTECTIONREASONPROTECTIONEXPIRED        AccountStorageProtectionReason = "ACCOUNT_STORAGE_PROTECTION_REASON_PROTECTION_EXPIRED"
	AccountStorageProtectionReasonACCOUNTSTORAGEPROTECTIONREASONCLEANUPCOMPLETE          AccountStorageProtectionReason = "ACCOUNT_STORAGE_PROTECTION_REASON_CLEANUP_COMPLETE"
)

func (AccountStorageProtectionReason) MarshalJSON

func (v AccountStorageProtectionReason) MarshalJSON() ([]byte, error)

func (*AccountStorageProtectionReason) UnmarshalJSON

func (v *AccountStorageProtectionReason) UnmarshalJSON(data []byte) error

type AccountStorageProtectionState

type AccountStorageProtectionState string

AccountStorageProtectionState AccountStorageProtectionState is the persisted account protection state.

const (
	AccountStorageProtectionStateACCOUNTSTORAGEPROTECTIONSTATEUNSPECIFIED   AccountStorageProtectionState = "ACCOUNT_STORAGE_PROTECTION_STATE_UNSPECIFIED"
	AccountStorageProtectionStateACCOUNTSTORAGEPROTECTIONSTATENORMAL        AccountStorageProtectionState = "ACCOUNT_STORAGE_PROTECTION_STATE_NORMAL"
	AccountStorageProtectionStateACCOUNTSTORAGEPROTECTIONSTATEPROTECTED     AccountStorageProtectionState = "ACCOUNT_STORAGE_PROTECTION_STATE_PROTECTED"
	AccountStorageProtectionStateACCOUNTSTORAGEPROTECTIONSTATEEXPIRYCLEANUP AccountStorageProtectionState = "ACCOUNT_STORAGE_PROTECTION_STATE_EXPIRY_CLEANUP"
	AccountStorageProtectionStateACCOUNTSTORAGEPROTECTIONSTATECLOSED        AccountStorageProtectionState = "ACCOUNT_STORAGE_PROTECTION_STATE_CLOSED"
)

func (AccountStorageProtectionState) MarshalJSON

func (v AccountStorageProtectionState) MarshalJSON() ([]byte, error)

func (*AccountStorageProtectionState) UnmarshalJSON

func (v *AccountStorageProtectionState) UnmarshalJSON(data []byte) error

type AddMemberRequest

type AddMemberRequest struct {
	OrgId runtime.Optional[string] `json:"org_id"`
	// Role Required. Role to assign. OWNER is rejected here (use ownership
	//  transfer flow); admin / member are accepted.
	Role runtime.Optional[OrganizationMemberRole] `json:"role"`
	// UserId Required. The user being invited.
	UserId runtime.Optional[string] `json:"user_id"`
}

func (AddMemberRequest) MarshalJSON

func (v AddMemberRequest) MarshalJSON() ([]byte, error)

func (*AddMemberRequest) UnmarshalJSON

func (v *AddMemberRequest) UnmarshalJSON(data []byte) error

type AddMemberResponse

type AddMemberResponse struct {
	// Member OrganizationMember is a (org, user) edge with a role and lifecycle status.
	//
	//  The role taxonomy (owner / admin / member) is the SAME WORDS as the
	//  application-level membership role surfaced by the developer center;
	//  the two live at different scopes and do not transitively grant each
	//  other.
	Member runtime.Optional[*OrganizationMember] `json:"member"`
}

func (AddMemberResponse) MarshalJSON

func (v AddMemberResponse) MarshalJSON() ([]byte, error)

func (*AddMemberResponse) UnmarshalJSON

func (v *AddMemberResponse) UnmarshalJSON(data []byte) error

type Any

type Any struct {
	// Type A URL/resource name that uniquely identifies the type of the serialized message.
	Type runtime.Optional[string] `json:"@type"`
}

Any Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

func (Any) MarshalJSON

func (v Any) MarshalJSON() ([]byte, error)

func (*Any) UnmarshalJSON

func (v *Any) UnmarshalJSON(data []byte) error

type AppforgesCommonV1PaginationRequest

type AppforgesCommonV1PaginationRequest struct {
	PageSize  runtime.Optional[int64]  `json:"page_size"`
	PageToken runtime.Optional[string] `json:"page_token"`
}

AppforgesCommonV1PaginationRequest Pagination request parameters.

func (AppforgesCommonV1PaginationRequest) MarshalJSON

func (v AppforgesCommonV1PaginationRequest) MarshalJSON() ([]byte, error)

func (*AppforgesCommonV1PaginationRequest) UnmarshalJSON

func (v *AppforgesCommonV1PaginationRequest) UnmarshalJSON(data []byte) error

type AppforgesCommonV1PaginationResponse

type AppforgesCommonV1PaginationResponse struct {
	NextPageToken runtime.Optional[string] `json:"next_page_token"`
	TotalCount    runtime.Optional[int64]  `json:"total_count"`
}

AppforgesCommonV1PaginationResponse Pagination response metadata.

func (AppforgesCommonV1PaginationResponse) MarshalJSON

func (v AppforgesCommonV1PaginationResponse) MarshalJSON() ([]byte, error)

func (*AppforgesCommonV1PaginationResponse) UnmarshalJSON

func (v *AppforgesCommonV1PaginationResponse) UnmarshalJSON(data []byte) error

type ApplicationDelegationPrincipal added in v0.64.0

type ApplicationDelegationPrincipal struct {
	AppId runtime.Optional[string] `json:"app_id"`
	// ClientId Active OAuth client that obtained the credential. Required and signed.
	//  This is distinct from app_id; never use one as a fallback for the other.
	ClientId runtime.Optional[string] `json:"client_id"`
	// Scopes Nonempty exact intersection of current token/client and installed policy.
	//  No wildcard or implicit administrator/user permission. Resource-level
	//  authorization remains mandatory at the destination.
	Scopes runtime.Optional[[]string] `json:"scopes"`
}

ApplicationDelegationPrincipal Application identity is not an end user and not a workload ServiceAccount.

A valid application proof also requires the caller's own workload identity.

func (ApplicationDelegationPrincipal) MarshalJSON added in v0.64.0

func (v ApplicationDelegationPrincipal) MarshalJSON() ([]byte, error)

func (*ApplicationDelegationPrincipal) UnmarshalJSON added in v0.64.0

func (v *ApplicationDelegationPrincipal) UnmarshalJSON(data []byte) error

type ApplicationStatus

type ApplicationStatus string

ApplicationStatus ApplicationStatus represents the lifecycle state of an OAuth application.

const (
	ApplicationStatusAPPLICATIONSTATUSUNSPECIFIED ApplicationStatus = "APPLICATION_STATUS_UNSPECIFIED"
	ApplicationStatusAPPLICATIONSTATUSACTIVE      ApplicationStatus = "APPLICATION_STATUS_ACTIVE"
	ApplicationStatusAPPLICATIONSTATUSSUSPENDED   ApplicationStatus = "APPLICATION_STATUS_SUSPENDED"
	ApplicationStatusAPPLICATIONSTATUSDELETED     ApplicationStatus = "APPLICATION_STATUS_DELETED"
)

func (ApplicationStatus) MarshalJSON

func (v ApplicationStatus) MarshalJSON() ([]byte, error)

func (*ApplicationStatus) UnmarshalJSON

func (v *ApplicationStatus) UnmarshalJSON(data []byte) error

type ApplicationType

type ApplicationType string

ApplicationType ApplicationType describes the kind of OAuth client application.

const (
	ApplicationTypeAPPLICATIONTYPEUNSPECIFIED ApplicationType = "APPLICATION_TYPE_UNSPECIFIED"
	ApplicationTypeAPPLICATIONTYPEWEB         ApplicationType = "APPLICATION_TYPE_WEB"
	ApplicationTypeAPPLICATIONTYPESPA         ApplicationType = "APPLICATION_TYPE_SPA"
	ApplicationTypeAPPLICATIONTYPEMOBILE      ApplicationType = "APPLICATION_TYPE_MOBILE"
	ApplicationTypeAPPLICATIONTYPESERVICE     ApplicationType = "APPLICATION_TYPE_SERVICE"
)

func (ApplicationType) MarshalJSON

func (v ApplicationType) MarshalJSON() ([]byte, error)

func (*ApplicationType) UnmarshalJSON

func (v *ApplicationType) UnmarshalJSON(data []byte) error

type ApplyCategoryOrganizationRequest

type ApplyCategoryOrganizationRequest struct {
	// BillingIntentId Required. Settled billing intent belonging to the organization job.
	BillingIntentId string `json:"billing_intent_id"`
	// EstimateId Required. Estimate consumed by the organization job.
	EstimateId string `json:"estimate_id"`
	// OrganizationJobId Required. Successful, unexpired organization job.
	OrganizationJobId string `json:"organization_job_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (ApplyCategoryOrganizationRequest) MarshalJSON

func (v ApplyCategoryOrganizationRequest) MarshalJSON() ([]byte, error)

func (*ApplyCategoryOrganizationRequest) UnmarshalJSON

func (v *ApplyCategoryOrganizationRequest) UnmarshalJSON(data []byte) error

type ApplyCategoryOrganizationResponse

type ApplyCategoryOrganizationResponse struct {
	// ApplyResult Required. Applied change count, tree revision, cost, and commit time.
	ApplyResult *CategoryOrganizationApplyResult `json:"apply_result"`
}

func (ApplyCategoryOrganizationResponse) MarshalJSON

func (v ApplyCategoryOrganizationResponse) MarshalJSON() ([]byte, error)

func (*ApplyCategoryOrganizationResponse) UnmarshalJSON

func (v *ApplyCategoryOrganizationResponse) UnmarshalJSON(data []byte) error

type Article

type Article struct {
	// ArticleId 文章唯一标识。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// Content 文章正文,格式由 format 字段决定。
	Content runtime.Optional[string] `json:"content"`
	// CoverImageUrl 封面图 URL。
	CoverImageUrl runtime.Optional[string] `json:"cover_image_url"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// Format 正文格式(Markdown 或 HTML)。
	Format runtime.Optional[ContentFormat] `json:"format"`
	// ProjectId 所属项目 ID。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// Summary 文章摘要,用于发布时的描述和 SEO。
	Summary runtime.Optional[string] `json:"summary"`
	// Tags 文章标签,用于分类和检索。
	Tags runtime.Optional[[]string] `json:"tags"`
	// Title 文章标题。
	Title runtime.Optional[string] `json:"title"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

Article Article represents a piece of text content (article, post, etc.).

Article 是图文创作的核心实体,同一篇文章可能同时存在 Markdown 和 HTML 两个版本。

func (Article) MarshalJSON

func (v Article) MarshalJSON() ([]byte, error)

func (*Article) UnmarshalJSON

func (v *Article) UnmarshalJSON(data []byte) error

type ArticlesPublishToWechatMpParams

type ArticlesPublishToWechatMpParams struct {
	Body *PublishToWechatMpRequest
}

type ArticlesService

type ArticlesService struct {
	// contains filtered or unexported fields
}

func (*ArticlesService) PublishToWechatMp

PublishToWechatMp PublishToWechatMp

直接发布 Markdown 或 HTML 内容到微信公众号。

一站式完成:正文预处理 → 封面上传 → 创建/更新草稿 → 可选群发。
适用于 CLI 工具(如 wepub)直接调用的场景。

type Asset

type Asset struct {
	// AssetId 素材唯一标识。
	AssetId runtime.Optional[string] `json:"asset_id"`
	// ContentType MIME 类型,例如 "image/png"、"video/mp4"。
	ContentType runtime.Optional[string] `json:"content_type"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// DurationSeconds 时长(秒),仅视频和音频有效。
	DurationSeconds runtime.Optional[int64] `json:"duration_seconds"`
	// Filename 原始文件名。
	Filename runtime.Optional[string] `json:"filename"`
	// Height 高度(像素),仅图片和视频有效。
	Height runtime.Optional[int64] `json:"height"`
	// Metadata 扩展元数据,例如 EXIF 信息、编码参数等。
	Metadata runtime.Optional[map[string]string] `json:"metadata"`
	// ProjectId 所属项目 ID。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// SizeBytes 文件大小(字节)。
	SizeBytes runtime.Optional[string] `json:"size_bytes"`
	// Type 素材类型。
	Type runtime.Optional[AssetType] `json:"type"`
	// Url 素材访问 URL(CDN 地址)。
	Url runtime.Optional[string] `json:"url"`
	// Width 宽度(像素),仅图片和视频有效。
	Width runtime.Optional[int64] `json:"width"`
}

Asset Asset represents an uploaded media resource.

素材可被文章引用、视频合成使用,生命周期跟随所属项目。

func (Asset) MarshalJSON

func (v Asset) MarshalJSON() ([]byte, error)

func (*Asset) UnmarshalJSON

func (v *Asset) UnmarshalJSON(data []byte) error

type AssetMetadataEntry

type AssetMetadataEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (AssetMetadataEntry) MarshalJSON

func (v AssetMetadataEntry) MarshalJSON() ([]byte, error)

func (*AssetMetadataEntry) UnmarshalJSON

func (v *AssetMetadataEntry) UnmarshalJSON(data []byte) error

type AssetType

type AssetType string

AssetType AssetType indicates the type of a media asset.

const (
	AssetTypeASSETTYPEUNSPECIFIED AssetType = "ASSET_TYPE_UNSPECIFIED"
	AssetTypeASSETTYPEIMAGE       AssetType = "ASSET_TYPE_IMAGE"
	AssetTypeASSETTYPEVIDEO       AssetType = "ASSET_TYPE_VIDEO"
	AssetTypeASSETTYPEAUDIO       AssetType = "ASSET_TYPE_AUDIO"
	AssetTypeASSETTYPEDOCUMENT    AssetType = "ASSET_TYPE_DOCUMENT"
)

func (AssetType) MarshalJSON

func (v AssetType) MarshalJSON() ([]byte, error)

func (*AssetType) UnmarshalJSON

func (v *AssetType) UnmarshalJSON(data []byte) error

type AssetsService

type AssetsService struct {
	// contains filtered or unexported fields
}

func (*AssetsService) UploadAsset

UploadAsset UploadAsset

直接上传小文件(建议 < 4MB),文件数据通过 gRPC 消息体传输。

type AssetsUploadAssetParams

type AssetsUploadAssetParams struct {
	Body *UploadAssetRequest
}

type AuthorizeAuthorizeParams

type AuthorizeAuthorizeParams struct {
	Body *AuthorizeRequest
}

type AuthorizeRequest

type AuthorizeRequest struct {
	ClientId runtime.Optional[string] `json:"client_id"`
	// CodeChallenge PKCE: base64url(SHA256(code_verifier))
	CodeChallenge runtime.Optional[string] `json:"code_challenge"`
	// CodeChallengeMethod "S256"
	CodeChallengeMethod runtime.Optional[string] `json:"code_challenge_method"`
	// Nonce OIDC nonce (Core 1.0 §3.1.2.1). Optional. 标准路径:客户端在
	//  /authorize 请求带 nonce → IAM 随授权码持久化 → 交换 token 时回灌进
	//  id_token 的 nonce claim。BFF 只需 verbatim 透传本字段,不解析、不
	//  生成。TokenRequest.nonce (= 9) 保留为旧客户端兼容兜底:交换时若授权
	//  码上已存有 nonce 则优先用存储值。仅当 scope 包含 "openid" 时有意义。
	Nonce       runtime.Optional[string] `json:"nonce"`
	RedirectUri runtime.Optional[string] `json:"redirect_uri"`
	// ResponseType "code"
	ResponseType runtime.Optional[string] `json:"response_type"`
	// Scope Space-delimited scopes
	Scope runtime.Optional[string] `json:"scope"`
	// State CSRF protection
	State runtime.Optional[string] `json:"state"`
}

func (AuthorizeRequest) MarshalJSON

func (v AuthorizeRequest) MarshalJSON() ([]byte, error)

func (*AuthorizeRequest) UnmarshalJSON

func (v *AuthorizeRequest) UnmarshalJSON(data []byte) error

type AuthorizeResponse

type AuthorizeResponse struct {
	AuthorizationCode runtime.Optional[string] `json:"authorization_code"`
	// RedirectUri Full redirect URI with code and state
	RedirectUri runtime.Optional[string] `json:"redirect_uri"`
	State       runtime.Optional[string] `json:"state"`
}

func (AuthorizeResponse) MarshalJSON

func (v AuthorizeResponse) MarshalJSON() ([]byte, error)

func (*AuthorizeResponse) UnmarshalJSON

func (v *AuthorizeResponse) UnmarshalJSON(data []byte) error

type AuthorizeService

type AuthorizeService struct {
	// contains filtered or unexported fields
}

func (*AuthorizeService) Authorize

Authorize Generate an authorization code after the user grants consent.

Although the public-facing OAuth 2.0 /authorize endpoint (RFC 6749 §3.1)

is a browser-redirect entry that relies on the IdP session cookie rather
than a Bearer token, **this RPC is invoked from the BFF** (account
service) after it has already exchanged the user's session cookie for an
access_token. Therefore the call into IAM itself MUST carry
`Authorization: Bearer <access_token>` so authMiddleware can resolve the
user_id — declaring CREDENTIAL_NONE here would cause the middleware to
skip token validation and the handler would then fail with
`no user_id in context`.

type AuthorizedApplication

type AuthorizedApplication struct {
	AppId   runtime.Optional[string] `json:"app_id"`
	AppName runtime.Optional[string] `json:"app_name"`
	// AuthorizedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	AuthorizedAt  runtime.Optional[Timestamp] `json:"authorized_at"`
	GrantedScopes runtime.Optional[[]string]  `json:"granted_scopes"`
	// LastUsedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	LastUsedAt runtime.Optional[Timestamp] `json:"last_used_at"`
	LogoUrl    runtime.Optional[string]    `json:"logo_url"`
}

AuthorizedApplication AuthorizedApplication represents an application the user has granted access to.

func (AuthorizedApplication) MarshalJSON

func (v AuthorizedApplication) MarshalJSON() ([]byte, error)

func (*AuthorizedApplication) UnmarshalJSON

func (v *AuthorizedApplication) UnmarshalJSON(data []byte) error

type AvatarRetirement

type AvatarRetirement struct {
	MediaId runtime.Optional[string] `json:"media_id"`
	// OperationId Immutable non-empty caller operation identifier; reused across process restarts.
	OperationId runtime.Optional[string] `json:"operation_id"`
	// State --- Avatar retirement (INTERNAL) ---
	//  Persistent deletion fence, not a lease. Neither timeouts nor retries release it.
	State runtime.Optional[AvatarRetirementState] `json:"state"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

func (AvatarRetirement) MarshalJSON

func (v AvatarRetirement) MarshalJSON() ([]byte, error)

func (*AvatarRetirement) UnmarshalJSON

func (v *AvatarRetirement) UnmarshalJSON(data []byte) error

type AvatarRetirementState

type AvatarRetirementState string

AvatarRetirementState --- Avatar retirement (INTERNAL) ---

Persistent deletion fence, not a lease. Neither timeouts nor retries release it.
const (
	AvatarRetirementStateAVATARRETIREMENTSTATEUNSPECIFIED AvatarRetirementState = "AVATAR_RETIREMENT_STATE_UNSPECIFIED"
	AvatarRetirementStateAVATARRETIREMENTSTATEBINDABLE    AvatarRetirementState = "AVATAR_RETIREMENT_STATE_BINDABLE"
	AvatarRetirementStateAVATARRETIREMENTSTATERETIRING    AvatarRetirementState = "AVATAR_RETIREMENT_STATE_RETIRING"
	AvatarRetirementStateAVATARRETIREMENTSTATERETIRED     AvatarRetirementState = "AVATAR_RETIREMENT_STATE_RETIRED"
)

func (AvatarRetirementState) MarshalJSON

func (v AvatarRetirementState) MarshalJSON() ([]byte, error)

func (*AvatarRetirementState) UnmarshalJSON

func (v *AvatarRetirementState) UnmarshalJSON(data []byte) error

type BatchPublishArticleRequest

type BatchPublishArticleRequest struct {
	// ArticleId 要发布的文章 ID。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// Targets 目标平台列表,每个 target 包含平台、配置和账号。
	Targets runtime.Optional[[]*BatchPublishTarget] `json:"targets"`
}

BatchPublishArticleRequest BatchPublishArticleRequest 将一篇文章同时发布到多个平台。

每个 target 独立执行,互不影响(部分平台失败不影响其他平台)。

func (BatchPublishArticleRequest) MarshalJSON

func (v BatchPublishArticleRequest) MarshalJSON() ([]byte, error)

func (*BatchPublishArticleRequest) UnmarshalJSON

func (v *BatchPublishArticleRequest) UnmarshalJSON(data []byte) error

type BatchPublishArticleResponse

type BatchPublishArticleResponse struct {
	// Records 每个目标平台对应一条发布记录。
	Records runtime.Optional[[]*PublishRecord] `json:"records"`
}

func (BatchPublishArticleResponse) MarshalJSON

func (v BatchPublishArticleResponse) MarshalJSON() ([]byte, error)

func (*BatchPublishArticleResponse) UnmarshalJSON

func (v *BatchPublishArticleResponse) UnmarshalJSON(data []byte) error

type BatchPublishTarget

type BatchPublishTarget struct {
	AccountId runtime.Optional[string] `json:"account_id"`
	// Platform Platform indicates the target publishing platform.
	//  新增平台时,在此枚举追加值,并在 publish.proto 中添加对应的 XxxConfig 消息。
	Platform runtime.Optional[Platform] `json:"platform"`
	// PlatformConfig PlatformConfig 封装各平台的发布配置。
	//  使用 oneof 确保每次发布只携带一个平台的配置。
	PlatformConfig runtime.Optional[PlatformConfig] `json:"platform_config"`
}

BatchPublishTarget BatchPublishTarget 批量发布中的单个目标平台配置。

func (BatchPublishTarget) MarshalJSON

func (v BatchPublishTarget) MarshalJSON() ([]byte, error)

func (*BatchPublishTarget) UnmarshalJSON

func (v *BatchPublishTarget) UnmarshalJSON(data []byte) error

type BatchValidateAvatarMediaIDsRequest

type BatchValidateAvatarMediaIDsRequest struct {
	// MediaIds Up to ~1000 media_ids per request. SweepOrphans paginates upstream
	//  via keyset cursor; this stays well under typical gRPC body limits.
	MediaIds runtime.Optional[[]string] `json:"media_ids"`
}

func (BatchValidateAvatarMediaIDsRequest) MarshalJSON

func (v BatchValidateAvatarMediaIDsRequest) MarshalJSON() ([]byte, error)

func (*BatchValidateAvatarMediaIDsRequest) UnmarshalJSON

func (v *BatchValidateAvatarMediaIDsRequest) UnmarshalJSON(data []byte) error

type BatchValidateAvatarMediaIDsResponse

type BatchValidateAvatarMediaIDsResponse struct {
	// InUseMediaIds Subset of input media_ids that are still referenced by at least one
	//  user's avatar column. Order is unspecified; absence implies orphan.
	InUseMediaIds runtime.Optional[[]string] `json:"in_use_media_ids"`
}

func (BatchValidateAvatarMediaIDsResponse) MarshalJSON

func (v BatchValidateAvatarMediaIDsResponse) MarshalJSON() ([]byte, error)

func (*BatchValidateAvatarMediaIDsResponse) UnmarshalJSON

func (v *BatchValidateAvatarMediaIDsResponse) UnmarshalJSON(data []byte) error

type BindPlatformAccountRequest

type BindPlatformAccountRequest struct {
	// AuthCode OAuth 授权码。
	AuthCode runtime.Optional[string] `json:"auth_code"`
	// Platform 要绑定的平台。
	Platform runtime.Optional[Platform] `json:"platform"`
	// RedirectUri OAuth 回调地址。
	RedirectUri runtime.Optional[string] `json:"redirect_uri"`
}

BindPlatformAccountRequest BindPlatformAccountRequest 通过 OAuth 授权码绑定平台账号。

典型流程:前端引导用户完成 OAuth 授权 → 获取 auth_code → 调用此接口完成绑定。

func (BindPlatformAccountRequest) MarshalJSON

func (v BindPlatformAccountRequest) MarshalJSON() ([]byte, error)

func (*BindPlatformAccountRequest) UnmarshalJSON

func (v *BindPlatformAccountRequest) UnmarshalJSON(data []byte) error

type BindPlatformAccountResponse

type BindPlatformAccountResponse struct {
	// Account 绑定成功的平台账号信息。
	Account runtime.Optional[*PlatformAccount] `json:"account"`
}

func (BindPlatformAccountResponse) MarshalJSON

func (v BindPlatformAccountResponse) MarshalJSON() ([]byte, error)

func (*BindPlatformAccountResponse) UnmarshalJSON

func (v *BindPlatformAccountResponse) UnmarshalJSON(data []byte) error

type CancelVideoTaskRequest

type CancelVideoTaskRequest struct {
	TaskId runtime.Optional[string] `json:"task_id"`
}

CancelVideoTaskRequest CancelVideoTaskRequest 取消正在执行的视频生成任务。

仅 PENDING / GENERATING_SCRIPT / GENERATING_ASSETS / COMPOSITING 状态的任务可取消。

func (CancelVideoTaskRequest) MarshalJSON

func (v CancelVideoTaskRequest) MarshalJSON() ([]byte, error)

func (*CancelVideoTaskRequest) UnmarshalJSON

func (v *CancelVideoTaskRequest) UnmarshalJSON(data []byte) error

type CancelVideoTaskResponse

type CancelVideoTaskResponse struct {
	// Task 取消后的任务状态。
	Task runtime.Optional[*VideoTask] `json:"task"`
}

func (CancelVideoTaskResponse) MarshalJSON

func (v CancelVideoTaskResponse) MarshalJSON() ([]byte, error)

func (*CancelVideoTaskResponse) UnmarshalJSON

func (v *CancelVideoTaskResponse) UnmarshalJSON(data []byte) error

type Category

type Category struct {
	// CategoryId Required. Opaque category identifier.
	CategoryId string `json:"category_id"`
	// CreatedAt Required. Category creation time.
	CreatedAt Timestamp `json:"created_at"`
	// DirectChildCount Required. Number of direct child categories.
	DirectChildCount int64 `json:"direct_child_count"`
	// DirectPageCount Required. Number of pages directly assigned to this category.
	DirectPageCount int64 `json:"direct_page_count"`
	// Etag Required. Optimistic concurrency validator.
	Etag string `json:"etag"`
	// Name Required. User-visible name, unique within the current parent.
	Name string `json:"name"`
	// ParentCategoryId (OPTIONAL) Optional. Direct parent category; absent for a root category.
	ParentCategoryId runtime.Optional[string] `json:"parent_category_id"`
	// UpdatedAt Required. Time category metadata last changed.
	UpdatedAt Timestamp `json:"updated_at"`
}

Category Category is one user-owned node in the PinPage category tree.

func (Category) MarshalJSON

func (v Category) MarshalJSON() ([]byte, error)

func (*Category) UnmarshalJSON

func (v *Category) UnmarshalJSON(data []byte) error

type CategoryChange

type CategoryChange struct {
	// CategoryId (OPTIONAL) Optional. Existing category involved in this change.
	CategoryId runtime.Optional[string] `json:"category_id"`
	// ChangeType Required. Closed change kind; non-empty categories and pages are never deleted.
	ChangeType CategoryChangeType `json:"change_type"`
	// PageId (OPTIONAL) Optional. Page involved in a MOVE_PAGE change.
	PageId runtime.Optional[string] `json:"page_id"`
	// Summary Required. User-understandable change summary.
	Summary string `json:"summary"`
	// TargetCategoryId (OPTIONAL) Optional. Destination category when the change has one.
	TargetCategoryId runtime.Optional[string] `json:"target_category_id"`
}

CategoryChange CategoryChange is one safe, concrete change proposed by a category

organization preview.

func (CategoryChange) MarshalJSON

func (v CategoryChange) MarshalJSON() ([]byte, error)

func (*CategoryChange) UnmarshalJSON

func (v *CategoryChange) UnmarshalJSON(data []byte) error

type CategoryChangeType

type CategoryChangeType string

CategoryChangeType CategoryChangeType identifies a safe, proposed category-tree change.

const (
	CategoryChangeTypeCATEGORYCHANGETYPEUNSPECIFIED  CategoryChangeType = "CATEGORY_CHANGE_TYPE_UNSPECIFIED"
	CategoryChangeTypeCATEGORYCHANGETYPECREATE       CategoryChangeType = "CATEGORY_CHANGE_TYPE_CREATE"
	CategoryChangeTypeCATEGORYCHANGETYPERENAME       CategoryChangeType = "CATEGORY_CHANGE_TYPE_RENAME"
	CategoryChangeTypeCATEGORYCHANGETYPEMOVEPAGE     CategoryChangeType = "CATEGORY_CHANGE_TYPE_MOVE_PAGE"
	CategoryChangeTypeCATEGORYCHANGETYPEMOVECATEGORY CategoryChangeType = "CATEGORY_CHANGE_TYPE_MOVE_CATEGORY"
	CategoryChangeTypeCATEGORYCHANGETYPEMERGE        CategoryChangeType = "CATEGORY_CHANGE_TYPE_MERGE"
	CategoryChangeTypeCATEGORYCHANGETYPEDELETEEMPTY  CategoryChangeType = "CATEGORY_CHANGE_TYPE_DELETE_EMPTY"
)

func (CategoryChangeType) MarshalJSON

func (v CategoryChangeType) MarshalJSON() ([]byte, error)

func (*CategoryChangeType) UnmarshalJSON

func (v *CategoryChangeType) UnmarshalJSON(data []byte) error

type CategoryDeletionPreview

type CategoryDeletionPreview struct {
	// AffectedActiveEstimateCount Required. Active generation estimates that will be invalidated.
	AffectedActiveEstimateCount int64 `json:"affected_active_estimate_count"`
	// AffectedAiCallCount Required. Logical AI call slots included in the deletion scope.
	AffectedAiCallCount int64 `json:"affected_ai_call_count"`
	// AffectedBriefRevisionCount Required. Complete brief revisions included in the deletion scope.
	AffectedBriefRevisionCount int64 `json:"affected_brief_revision_count"`
	// AffectedCategories Required. Exact root and descendant categories in stable order.
	AffectedCategories []*CategoryDeletionTarget `json:"affected_categories"`
	// AffectedCategoryOrganizationEstimateCount Required. Category-organization estimates that will be invalidated.
	AffectedCategoryOrganizationEstimateCount int64 `json:"affected_category_organization_estimate_count"`
	// AffectedCategoryOrganizationJobCount Required. Category-organization jobs included in the deletion scope.
	AffectedCategoryOrganizationJobCount int64 `json:"affected_category_organization_job_count"`
	// AffectedCategoryPlanCount Required. Category plan storage objects included in the deletion scope.
	AffectedCategoryPlanCount int64 `json:"affected_category_plan_count"`
	// AffectedExportCount Required. PDF and PNG artifacts included in the deletion scope.
	AffectedExportCount int64 `json:"affected_export_count"`
	// AffectedExternalSourceCount Required. Future-reserved external source count; zero in the current release.
	AffectedExternalSourceCount int64 `json:"affected_external_source_count"`
	// AffectedExternalTempCopyCount Required. Registered external temporary copies included in the scope.
	AffectedExternalTempCopyCount int64 `json:"affected_external_temp_copy_count"`
	// AffectedFailureContextCount Required. Typed failure contexts included in the deletion scope.
	AffectedFailureContextCount int64 `json:"affected_failure_context_count"`
	// AffectedGenerationPlanCount Required. Generation plan revisions included in the deletion scope.
	AffectedGenerationPlanCount int64 `json:"affected_generation_plan_count"`
	// AffectedGenerationPlanStepCount Required. Structured generation plan steps included in the deletion scope.
	AffectedGenerationPlanStepCount int64 `json:"affected_generation_plan_step_count"`
	// AffectedJobCount Required. Logical jobs included in the deletion scope.
	AffectedJobCount int64 `json:"affected_job_count"`
	// AffectedJobInputCount Required. Frozen job inputs included in the deletion scope.
	AffectedJobInputCount int64 `json:"affected_job_input_count"`
	// AffectedMaterialCount Required. Materials included in the deletion scope.
	AffectedMaterialCount int64 `json:"affected_material_count"`
	// AffectedPageCount Required. Number of pages included in the category subtree.
	AffectedPageCount int64 `json:"affected_page_count"`
	// AffectedPages Required. Exact pages in the subtree in stable order.
	AffectedPages []*PageDeletionTarget `json:"affected_pages"`
	// AffectedProvisionalCandidateCount Required. Unpublished candidates included in the deletion scope.
	AffectedProvisionalCandidateCount int64 `json:"affected_provisional_candidate_count"`
	// AffectedReplanDecisionCount Required. Structured replan decisions included in the deletion scope.
	AffectedReplanDecisionCount int64 `json:"affected_replan_decision_count"`
	// AffectedReviewReportCount Required. Structured review reports included in the deletion scope.
	AffectedReviewReportCount int64 `json:"affected_review_report_count"`
	// AffectedSourceCount Required. Material and inline-text sources included in the deletion scope.
	AffectedSourceCount int64 `json:"affected_source_count"`
	// AffectedToolCallCount Required. Future-reserved tool call count; zero in the current release.
	AffectedToolCallCount int64 `json:"affected_tool_call_count"`
	// AffectedVersionCount Required. Published versions included in the deletion scope.
	AffectedVersionCount int64 `json:"affected_version_count"`
	// ConfirmationToken Required. Short-lived confirmation capability; never log or persist in telemetry.
	ConfirmationToken string `json:"confirmation_token"`
	// DescendantCategoryCount Required. Number of all descendant categories.
	DescendantCategoryCount int64 `json:"descendant_category_count"`
	// DirectChildCount Required. Number of direct child categories.
	DirectChildCount int64 `json:"direct_child_count"`
	// ExpiresAt Required. Expiry of the confirmation token and impact snapshot.
	ExpiresAt Timestamp `json:"expires_at"`
	// ImpactFingerprint Required. SHA-256 of the complete canonical subtree deletion scope.
	ImpactFingerprint string `json:"impact_fingerprint"`
	// TreeEtag Required. Category tree version observed by this preview.
	TreeEtag string `json:"tree_etag"`
}

CategoryDeletionPreview CategoryDeletionPreview is a signed, short-lived exact impact snapshot for

deleting one category subtree and all pages contained in it.

func (CategoryDeletionPreview) MarshalJSON

func (v CategoryDeletionPreview) MarshalJSON() ([]byte, error)

func (*CategoryDeletionPreview) UnmarshalJSON

func (v *CategoryDeletionPreview) UnmarshalJSON(data []byte) error

type CategoryDeletionResult

type CategoryDeletionResult struct {
	// AcceptedAt Required. Time logical access revocation became effective.
	AcceptedAt Timestamp `json:"accepted_at"`
	// AffectedActiveEstimateCount Required. Active generation estimates atomically invalidated.
	AffectedActiveEstimateCount int64 `json:"affected_active_estimate_count"`
	// AffectedAiCallCount Required. Logical AI call slots accepted for cleanup.
	AffectedAiCallCount int64 `json:"affected_ai_call_count"`
	// AffectedBriefRevisionCount Required. Complete brief revisions accepted for deletion.
	AffectedBriefRevisionCount int64 `json:"affected_brief_revision_count"`
	// AffectedCategoryOrganizationEstimateCount Required. Category-organization estimates atomically invalidated.
	AffectedCategoryOrganizationEstimateCount int64 `json:"affected_category_organization_estimate_count"`
	// AffectedCategoryOrganizationJobCount Required. Category-organization jobs canceled or access-revoked.
	AffectedCategoryOrganizationJobCount int64 `json:"affected_category_organization_job_count"`
	// AffectedCategoryPlanCount Required. Category plan storage objects accepted for cleanup.
	AffectedCategoryPlanCount int64 `json:"affected_category_plan_count"`
	// AffectedExportCount Required. PDF and PNG artifacts accepted for deletion.
	AffectedExportCount int64 `json:"affected_export_count"`
	// AffectedExternalTempCopyCount Required. Registered external temporary copies accepted for cleanup.
	AffectedExternalTempCopyCount int64 `json:"affected_external_temp_copy_count"`
	// AffectedFailureContextCount Required. Typed failure contexts accepted for deletion.
	AffectedFailureContextCount int64 `json:"affected_failure_context_count"`
	// AffectedJobCount Required. Logical jobs accepted for deletion.
	AffectedJobCount int64 `json:"affected_job_count"`
	// AffectedJobInputCount Required. Frozen job inputs accepted for deletion.
	AffectedJobInputCount int64 `json:"affected_job_input_count"`
	// AffectedMaterialCount Required. Materials accepted for deletion.
	AffectedMaterialCount int64 `json:"affected_material_count"`
	// AffectedPageCount Required. Pages accepted for deletion.
	AffectedPageCount int64 `json:"affected_page_count"`
	// AffectedProvisionalCandidateCount Required. Unpublished candidates accepted for deletion.
	AffectedProvisionalCandidateCount int64 `json:"affected_provisional_candidate_count"`
	// AffectedReplanDecisionCount Required. Structured replan decisions accepted for cleanup.
	AffectedReplanDecisionCount int64 `json:"affected_replan_decision_count"`
	// AffectedReviewReportCount Required. Structured review reports accepted for cleanup.
	AffectedReviewReportCount int64 `json:"affected_review_report_count"`
	// AffectedSourceCount Required. Material and inline-text sources accepted for deletion.
	AffectedSourceCount int64 `json:"affected_source_count"`
	// AffectedToolCallCount Required. Future-reserved tool calls; zero in the current release.
	AffectedToolCallCount int64 `json:"affected_tool_call_count"`
	// AffectedVersionCount Required. Published versions accepted for deletion.
	AffectedVersionCount int64 `json:"affected_version_count"`
	// CategoryId Required. Opaque deleted root category identifier.
	CategoryId string `json:"category_id"`
	// DeletedCategoryCount Required. Root and descendant categories accepted for deletion.
	DeletedCategoryCount int64 `json:"deleted_category_count"`
}

CategoryDeletionResult CategoryDeletionResult confirms immediate access revocation for a category

subtree and the exact content scope accepted for asynchronous cleanup.

func (CategoryDeletionResult) MarshalJSON

func (v CategoryDeletionResult) MarshalJSON() ([]byte, error)

func (*CategoryDeletionResult) UnmarshalJSON

func (v *CategoryDeletionResult) UnmarshalJSON(data []byte) error

type CategoryDeletionTarget

type CategoryDeletionTarget struct {
	// CategoryId Required. Opaque category identifier to delete.
	CategoryId string `json:"category_id"`
	// Etag Required. Category revision incorporated into the impact fingerprint.
	Etag string `json:"etag"`
	// Name Required. Current user-visible name shown for confirmation.
	Name string `json:"name"`
}

CategoryDeletionTarget CategoryDeletionTarget is one exact category node included in a signed

category-deletion preview.

func (CategoryDeletionTarget) MarshalJSON

func (v CategoryDeletionTarget) MarshalJSON() ([]byte, error)

func (*CategoryDeletionTarget) UnmarshalJSON

func (v *CategoryDeletionTarget) UnmarshalJSON(data []byte) error

type CategoryOrganizationApplyResult

type CategoryOrganizationApplyResult struct {
	// AppliedAt Required. Time application committed.
	AppliedAt Timestamp `json:"applied_at"`
	// AppliedChangeCount Required. Number of concrete changes applied.
	AppliedChangeCount int64 `json:"applied_change_count"`
	// CostSummary Required. Same reconciled cost summary returned by the preview.
	CostSummary *CostSummary `json:"cost_summary"`
	// TreeEtag Required. Category tree version after application.
	TreeEtag string `json:"tree_etag"`
}

CategoryOrganizationApplyResult CategoryOrganizationApplyResult confirms application of a previously

settled preview without a second charge.

func (CategoryOrganizationApplyResult) MarshalJSON

func (v CategoryOrganizationApplyResult) MarshalJSON() ([]byte, error)

func (*CategoryOrganizationApplyResult) UnmarshalJSON

func (v *CategoryOrganizationApplyResult) UnmarshalJSON(data []byte) error

type CategoryOrganizationEstimate

type CategoryOrganizationEstimate struct {
	// AuthorizedMaxCredit Required. Maximum permitted user net charge for this operation.
	AuthorizedMaxCredit string `json:"authorized_max_credit"`
	// BalanceSufficient Required. Whether the balance covers authorized_max_credit.
	BalanceSufficient bool `json:"balance_sufficient"`
	// ConsumedOrganizationJobId (OPTIONAL) Conditional. Present when CONSUMED and identifies the unique organization job.
	ConsumedOrganizationJobId runtime.Optional[string] `json:"consumed_organization_job_id"`
	// CreatedAt Required. Durable estimate creation time.
	CreatedAt Timestamp `json:"created_at"`
	// CurrentBalanceCredit Required. Wallet balance snapshot at estimate creation.
	CurrentBalanceCredit string `json:"current_balance_credit"`
	// EstimateId Required. Opaque estimate identifier.
	EstimateId string `json:"estimate_id"`
	// EstimatedAiCredit Required. Estimated AI credits for the complete preview operation.
	EstimatedAiCredit string `json:"estimated_ai_credit"`
	// ExpiresAt Required. Time after which a new estimate is required.
	ExpiresAt Timestamp `json:"expires_at"`
	// InputFingerprint Required. SHA-256 of the frozen instruction, scope, and tree_etag.
	InputFingerprint string `json:"input_fingerprint"`
	// PricingVersion Required. Public AI pricing contract version.
	PricingVersion string `json:"pricing_version"`
	// ScopeCategoryId (OPTIONAL) Optional. Root of the affected subtree; absent means the full tree.
	ScopeCategoryId runtime.Optional[string] `json:"scope_category_id"`
	// State Required. Current estimate lifecycle state.
	State EstimateState `json:"state"`
	// TreeEtag Required. Category tree version observed during estimation.
	TreeEtag string `json:"tree_etag"`
}

CategoryOrganizationEstimate CategoryOrganizationEstimate is a durable, short-lived estimate for one

explicitly confirmed asynchronous category-organization preview.

func (CategoryOrganizationEstimate) MarshalJSON

func (v CategoryOrganizationEstimate) MarshalJSON() ([]byte, error)

func (*CategoryOrganizationEstimate) UnmarshalJSON

func (v *CategoryOrganizationEstimate) UnmarshalJSON(data []byte) error

type CategoryOrganizationJob

type CategoryOrganizationJob struct {
	// AppliedAt (OPTIONAL) Conditional. Required after apply; retained in the EXPIRED projection.
	AppliedAt runtime.Optional[Timestamp] `json:"applied_at"`
	// BillingIntentId Required. Logical user-confirmation billing intent, not an operation or attempt ID.
	BillingIntentId string `json:"billing_intent_id"`
	// CompletedAt (OPTIONAL) Conditional. Required in SUCCEEDED or FAILED; apply and expiry do not change it.
	CompletedAt runtime.Optional[Timestamp] `json:"completed_at"`
	// CostSummary Required. CATEGORY_ORGANIZATION estimate and reconciled settlement summary.
	CostSummary *CostSummary `json:"cost_summary"`
	// CreatedAt Required. Logical job creation time.
	CreatedAt Timestamp `json:"created_at"`
	// EstimateId Required. Opaque estimate atomically consumed by this job.
	EstimateId string `json:"estimate_id"`
	// Failure (OPTIONAL) Conditional. Required in FAILED and contains only safe failure details.
	Failure runtime.Optional[*JobFailure] `json:"failure"`
	// OrganizationJobId Required. Opaque logical organization job identifier.
	OrganizationJobId string `json:"organization_job_id"`
	// PreviewState (OPTIONAL) Conditional. Required in SUCCEEDED and absent before planning succeeds.
	PreviewState runtime.Optional[CategoryOrganizationPreviewState] `json:"preview_state"`
	// PreviewUnavailableReason (OPTIONAL) Conditional. Required when preview_state is EXPIRED.
	PreviewUnavailableReason runtime.Optional[string] `json:"preview_unavailable_reason"`
	// Status Required. Public asynchronous job lifecycle.
	Status JobStatus `json:"status"`
	// UpdatedAt Required. Time the authoritative job fact last changed.
	UpdatedAt Timestamp `json:"updated_at"`
}

CategoryOrganizationJob CategoryOrganizationJob is the authoritative asynchronous fact for one

explicitly confirmed, paid category-organization preview.

func (CategoryOrganizationJob) MarshalJSON

func (v CategoryOrganizationJob) MarshalJSON() ([]byte, error)

func (*CategoryOrganizationJob) UnmarshalJSON

func (v *CategoryOrganizationJob) UnmarshalJSON(data []byte) error

type CategoryOrganizationPreview

type CategoryOrganizationPreview struct {
	// AppliedAt (OPTIONAL) Conditional. Required after successful apply and absent before apply.
	AppliedAt runtime.Optional[Timestamp] `json:"applied_at"`
	// BillingIntentId Required. Logical user-confirmation billing intent.
	BillingIntentId string `json:"billing_intent_id"`
	// Changes Required. Ordered concrete changes; may be empty when no change is needed.
	Changes []*CategoryChange `json:"changes"`
	// CostSummary Required. Reconciled CATEGORY_ORGANIZATION cost summary.
	CostSummary *CostSummary `json:"cost_summary"`
	// EstimateId Required. Estimate consumed by the organization job.
	EstimateId string `json:"estimate_id"`
	// ExpiresAt Required. Durable preview expiry time.
	ExpiresAt Timestamp `json:"expires_at"`
	// OrganizationJobId Required. Organization job identifier and preview snapshot identity.
	OrganizationJobId string `json:"organization_job_id"`
	// Summary Required. User-understandable overall change summary.
	Summary string `json:"summary"`
	// TreeEtag Required. Category tree version from which this preview was generated.
	TreeEtag string `json:"tree_etag"`
}

CategoryOrganizationPreview CategoryOrganizationPreview is the durable, settled snapshot produced by a

successful category organization job. It contains safe changes but never the
user's original instruction, prompts, private reasoning, or provider output.

func (CategoryOrganizationPreview) MarshalJSON

func (v CategoryOrganizationPreview) MarshalJSON() ([]byte, error)

func (*CategoryOrganizationPreview) UnmarshalJSON

func (v *CategoryOrganizationPreview) UnmarshalJSON(data []byte) error

type CategoryOrganizationPreviewState

type CategoryOrganizationPreviewState string

CategoryOrganizationPreviewState CategoryOrganizationPreviewState is the lifecycle of a successful

category-organization preview.
const (
	CategoryOrganizationPreviewStateCATEGORYORGANIZATIONPREVIEWSTATEUNSPECIFIED CategoryOrganizationPreviewState = "CATEGORY_ORGANIZATION_PREVIEW_STATE_UNSPECIFIED"
	CategoryOrganizationPreviewStateCATEGORYORGANIZATIONPREVIEWSTATEREADY       CategoryOrganizationPreviewState = "CATEGORY_ORGANIZATION_PREVIEW_STATE_READY"
	CategoryOrganizationPreviewStateCATEGORYORGANIZATIONPREVIEWSTATEAPPLYING    CategoryOrganizationPreviewState = "CATEGORY_ORGANIZATION_PREVIEW_STATE_APPLYING"
	CategoryOrganizationPreviewStateCATEGORYORGANIZATIONPREVIEWSTATEAPPLIED     CategoryOrganizationPreviewState = "CATEGORY_ORGANIZATION_PREVIEW_STATE_APPLIED"
	CategoryOrganizationPreviewStateCATEGORYORGANIZATIONPREVIEWSTATEEXPIRED     CategoryOrganizationPreviewState = "CATEGORY_ORGANIZATION_PREVIEW_STATE_EXPIRED"
)

func (CategoryOrganizationPreviewState) MarshalJSON

func (v CategoryOrganizationPreviewState) MarshalJSON() ([]byte, error)

func (*CategoryOrganizationPreviewState) UnmarshalJSON

func (v *CategoryOrganizationPreviewState) UnmarshalJSON(data []byte) error

type CategoryPreference

type CategoryPreference struct {
	// Etag Required. Optimistic concurrency validator.
	Etag string `json:"etag"`
	// Revision Required. Monotonic singleton revision; zero means never configured.
	Revision string `json:"revision"`
	// RulesText Required. Complete saved rules; an empty string explicitly means no rules.
	RulesText string `json:"rules_text"`
	// UpdatedAt (OPTIONAL) Optional. Last explicit save or clear time; absent when never configured.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

CategoryPreference CategoryPreference is the user-scoped singleton containing explicitly saved

long-lived category rules. It never receives one-time organization prompts.

func (CategoryPreference) MarshalJSON

func (v CategoryPreference) MarshalJSON() ([]byte, error)

func (*CategoryPreference) UnmarshalJSON

func (v *CategoryPreference) UnmarshalJSON(data []byte) error

type CategoryPreferenceSnapshot

type CategoryPreferenceSnapshot struct {
	// Revision Required. Monotonic preference revision; zero means never configured.
	Revision string `json:"revision"`
	// RulesSha256 Required. SHA-256 of rules_text, including the stable digest of empty text.
	RulesSha256 string `json:"rules_sha256"`
	// RulesText Required. Complete normalized rules; an empty string means no rules.
	RulesText string `json:"rules_text"`
}

CategoryPreferenceSnapshot CategoryPreferenceSnapshot is the immutable category preference captured in

a generation estimate and its resulting job input.

func (CategoryPreferenceSnapshot) MarshalJSON

func (v CategoryPreferenceSnapshot) MarshalJSON() ([]byte, error)

func (*CategoryPreferenceSnapshot) UnmarshalJSON

func (v *CategoryPreferenceSnapshot) UnmarshalJSON(data []byte) error

type ChangePasswordRequest

type ChangePasswordRequest struct {
	NewPasswordHash runtime.Optional[string] `json:"new_password_hash"`
	OldPasswordHash runtime.Optional[string] `json:"old_password_hash"`
}

func (ChangePasswordRequest) MarshalJSON

func (v ChangePasswordRequest) MarshalJSON() ([]byte, error)

func (*ChangePasswordRequest) UnmarshalJSON

func (v *ChangePasswordRequest) UnmarshalJSON(data []byte) error

type ChangePasswordResponse

type ChangePasswordResponse = any

type CheckRequest

type CheckRequest struct {
	// Action Required. Verb-style action name. Common values:
	//    "read"       — any active member
	//    "update"     — admin or owner
	//    "delete"     — owner only
	//    "transfer"   — owner only
	//    "rotate"     — admin or owner (for credentials)
	//
	//  Convention: action names are lowercase ASCII; service-specific actions
	//  SHOULD be namespaced (e.g. "credentials:rotate"). The full action
	//  taxonomy is documented per service in their respective READMEs.
	Action runtime.Optional[string] `json:"action"`
	// Resource Required. Dotted "type:id" form, e.g.:
	//    "app:app01abc..."         (Application)
	//    "org:org01xyz..."         (Organization)
	//    "workspace:wsp..."        (Workspace)
	//    "credential:key..."       (API Key)
	Resource runtime.Optional[string] `json:"resource"`
	// UserId Required. The principal whose permissions are being tested. Opaque
	//  entity-id with `usr` prefix; legacy formats also accepted.
	UserId runtime.Optional[string] `json:"user_id"`
}

CheckRequest CheckRequest carries one authorization question.

func (CheckRequest) MarshalJSON

func (v CheckRequest) MarshalJSON() ([]byte, error)

func (*CheckRequest) UnmarshalJSON

func (v *CheckRequest) UnmarshalJSON(data []byte) error

type CheckResponse

type CheckResponse struct {
	// Allow True if the principal is authorized.
	Allow runtime.Optional[bool] `json:"allow"`
	// EffectiveRole Effective role observed at decision time. Empty when allow=false and
	//  user is not a member of the resource. Useful for audit logs.
	EffectiveRole runtime.Optional[string] `json:"effective_role"`
	// Reason Short machine-readable reason code. Values:
	//    "OK"                       — allowed
	//    "NOT_A_MEMBER"             — user not in resource's membership table
	//    "INSUFFICIENT_ROLE"        — user is a member but role too low
	//    "RESOURCE_TYPE_UNKNOWN"    — service does not recognize the resource type
	//    "CACHE_NOT_READY"          — app_members cache not yet synced (transient)
	//    "RESOURCE_NOT_FOUND"       — resource id does not exist
	//
	//  Loggable by callers; not user-facing.
	Reason runtime.Optional[string] `json:"reason"`
}

CheckResponse CheckResponse carries the decision plus a human-readable explanation.

func (CheckResponse) MarshalJSON

func (v CheckResponse) MarshalJSON() ([]byte, error)

func (*CheckResponse) UnmarshalJSON

func (v *CheckResponse) UnmarshalJSON(data []byte) error

type CheckUserExistsRequest

type CheckUserExistsRequest struct {
	Email runtime.Optional[string] `json:"email"`
	Phone runtime.Optional[string] `json:"phone"`
}

func (CheckUserExistsRequest) MarshalJSON

func (v CheckUserExistsRequest) MarshalJSON() ([]byte, error)

func (*CheckUserExistsRequest) UnmarshalJSON

func (v *CheckUserExistsRequest) UnmarshalJSON(data []byte) error

type CheckUserExistsResponse

type CheckUserExistsResponse struct {
	HasPassword  runtime.Optional[bool]   `json:"has_password"`
	IsRegistered runtime.Optional[bool]   `json:"is_registered"`
	Name         runtime.Optional[string] `json:"name"`
}

func (CheckUserExistsResponse) MarshalJSON

func (v CheckUserExistsResponse) MarshalJSON() ([]byte, error)

func (*CheckUserExistsResponse) UnmarshalJSON

func (v *CheckUserExistsResponse) UnmarshalJSON(data []byte) error

type ClaimAvatarRetirementRequest

type ClaimAvatarRetirementRequest struct {
	MediaId     runtime.Optional[string] `json:"media_id"`
	OperationId runtime.Optional[string] `json:"operation_id"`
}

ClaimAvatarRetirementRequest Only a verified internal media caller may claim a fence. IAM atomically locks

the media guard and checks ALL references, including restorable users.
In-use: FAILED_PRECONDITION / AVATAR_IN_USE. Different operation:
ABORTED / AVATAR_RETIREMENT_CONFLICT. Disabled rollout:
FAILED_PRECONDITION / AVATAR_RETIREMENT_DISABLED. Invalid fields:
INVALID_ARGUMENT with BadRequest field violations. Matching RETIRING or
RETIRED claims are idempotent; only RETIRING authorizes new deletion work.

func (ClaimAvatarRetirementRequest) MarshalJSON

func (v ClaimAvatarRetirementRequest) MarshalJSON() ([]byte, error)

func (*ClaimAvatarRetirementRequest) UnmarshalJSON

func (v *ClaimAvatarRetirementRequest) UnmarshalJSON(data []byte) error

type ClaimAvatarRetirementResponse

type ClaimAvatarRetirementResponse struct {
	Retirement runtime.Optional[*AvatarRetirement] `json:"retirement"`
}

func (ClaimAvatarRetirementResponse) MarshalJSON

func (v ClaimAvatarRetirementResponse) MarshalJSON() ([]byte, error)

func (*ClaimAvatarRetirementResponse) UnmarshalJSON

func (v *ClaimAvatarRetirementResponse) UnmarshalJSON(data []byte) error

type Client

type Client struct {
	Articles                        *ArticlesService
	Assets                          *AssetsService
	Authorize                       *AuthorizeService
	CreativePrompt                  *CreativePromptService
	Exports                         *ExportsService
	Instructions                    *InstructionsService
	Introspect                      *IntrospectService
	Jwks                            *JwksService
	Metadata                        *MetadataService
	PinpageCategories               *PinpageCategoriesService
	PinpageCategoryOrganizationJobs *PinpageCategoryOrganizationJobsService
	PinpageCategoryPreference       *PinpageCategoryPreferenceService
	PinpageJobs                     *PinpageJobsService
	PinpageMaterials                *PinpageMaterialsService
	PinpagePages                    *PinpagePagesService
	PinpagePrompt                   *PinpagePromptService
	PinpageStorageProtection        *PinpageStorageProtectionService
	PinpageUploads                  *PinpageUploadsService
	Preview                         *PreviewService
	Progress                        *ProgressService
	Revoke                          *RevokeService
	Scopes                          *ScopesService
	SignUrls                        *SignUrlsService
	TemplatePresets                 *TemplatePresetsService
	Templates                       *TemplatesService
	Token                           *TokenService
	Users                           *UsersService
	Verify                          *VerifyService
	Versions                        *VersionsService
	// contains filtered or unexported fields
}

func NewClient

func NewClient(options ...runtime.Option) (*Client, error)

func (*Client) Close

func (c *Client) Close() error

type ClientCredentialStatus

type ClientCredentialStatus string

ClientCredentialStatus ClientCredentialStatus represents the lifecycle state of one OAuth client.

const (
	ClientCredentialStatusCLIENTCREDENTIALSTATUSUNSPECIFIED ClientCredentialStatus = "CLIENT_CREDENTIAL_STATUS_UNSPECIFIED"
	ClientCredentialStatusCLIENTCREDENTIALSTATUSACTIVE      ClientCredentialStatus = "CLIENT_CREDENTIAL_STATUS_ACTIVE"
	ClientCredentialStatusCLIENTCREDENTIALSTATUSDISABLED    ClientCredentialStatus = "CLIENT_CREDENTIAL_STATUS_DISABLED"
	ClientCredentialStatusCLIENTCREDENTIALSTATUSDELETED     ClientCredentialStatus = "CLIENT_CREDENTIAL_STATUS_DELETED"
)

func (ClientCredentialStatus) MarshalJSON

func (v ClientCredentialStatus) MarshalJSON() ([]byte, error)

func (*ClientCredentialStatus) UnmarshalJSON

func (v *ClientCredentialStatus) UnmarshalJSON(data []byte) error

type ClientCredentialType

type ClientCredentialType string

ClientCredentialType ClientCredentialType describes whether an OAuth client can keep a secret.

const (
	ClientCredentialTypeCLIENTCREDENTIALTYPEUNSPECIFIED  ClientCredentialType = "CLIENT_CREDENTIAL_TYPE_UNSPECIFIED"
	ClientCredentialTypeCLIENTCREDENTIALTYPECONFIDENTIAL ClientCredentialType = "CLIENT_CREDENTIAL_TYPE_CONFIDENTIAL"
	ClientCredentialTypeCLIENTCREDENTIALTYPEPUBLIC       ClientCredentialType = "CLIENT_CREDENTIAL_TYPE_PUBLIC"
)

func (ClientCredentialType) MarshalJSON

func (v ClientCredentialType) MarshalJSON() ([]byte, error)

func (*ClientCredentialType) UnmarshalJSON

func (v *ClientCredentialType) UnmarshalJSON(data []byte) error

type CompleteAvatarRetirementRequest

type CompleteAvatarRetirementRequest struct {
	MediaId     runtime.Optional[string] `json:"media_id"`
	OperationId runtime.Optional[string] `json:"operation_id"`
}

CompleteAvatarRetirementRequest Call only after all objects are deleted and Media metadata is soft-deleted.

Matching RETIRING -> RETIRED; matching RETIRED is idempotent. Missing claim
is NOT_FOUND, mismatched operation is ABORTED. Never creates a new fence.
A lost response is resolved through Get/retry, never through an unfence RPC.

func (CompleteAvatarRetirementRequest) MarshalJSON

func (v CompleteAvatarRetirementRequest) MarshalJSON() ([]byte, error)

func (*CompleteAvatarRetirementRequest) UnmarshalJSON

func (v *CompleteAvatarRetirementRequest) UnmarshalJSON(data []byte) error

type CompleteAvatarRetirementResponse

type CompleteAvatarRetirementResponse struct {
	Retirement runtime.Optional[*AvatarRetirement] `json:"retirement"`
}

func (CompleteAvatarRetirementResponse) MarshalJSON

func (v CompleteAvatarRetirementResponse) MarshalJSON() ([]byte, error)

func (*CompleteAvatarRetirementResponse) UnmarshalJSON

func (v *CompleteAvatarRetirementResponse) UnmarshalJSON(data []byte) error

type CompleteUploadRequest

type CompleteUploadRequest struct {
	// UploadId Required. OPEN or idempotently completed upload identifier.
	UploadId string `json:"upload_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (CompleteUploadRequest) MarshalJSON

func (v CompleteUploadRequest) MarshalJSON() ([]byte, error)

func (*CompleteUploadRequest) UnmarshalJSON

func (v *CompleteUploadRequest) UnmarshalJSON(data []byte) error

type CompleteUploadResponse

type CompleteUploadResponse struct {
	// Material (OPTIONAL) Optional. Required only when upload.status is COMPLETED.
	Material runtime.Optional[*Material] `json:"material"`
	// Upload Required. Durable terminal upload fact after completion processing.
	Upload *UploadSession `json:"upload"`
}

func (CompleteUploadResponse) MarshalJSON

func (v CompleteUploadResponse) MarshalJSON() ([]byte, error)

func (*CompleteUploadResponse) UnmarshalJSON

func (v *CompleteUploadResponse) UnmarshalJSON(data []byte) error

type ConfirmUploadRequest

type ConfirmUploadRequest struct {
	// AssetId 预分配的素材 ID(来自 GenerateUploadUrlResponse)。
	AssetId runtime.Optional[string] `json:"asset_id"`
}

ConfirmUploadRequest ConfirmUploadRequest 确认预签名上传已完成。

服务端将验证文件是否存在,并提取尺寸、时长等元信息。

func (ConfirmUploadRequest) MarshalJSON

func (v ConfirmUploadRequest) MarshalJSON() ([]byte, error)

func (*ConfirmUploadRequest) UnmarshalJSON

func (v *ConfirmUploadRequest) UnmarshalJSON(data []byte) error

type ConfirmUploadResponse

type ConfirmUploadResponse struct {
	// Asset 确认后的完整素材信息。
	Asset runtime.Optional[*Asset] `json:"asset"`
}

func (ConfirmUploadResponse) MarshalJSON

func (v ConfirmUploadResponse) MarshalJSON() ([]byte, error)

func (*ConfirmUploadResponse) UnmarshalJSON

func (v *ConfirmUploadResponse) UnmarshalJSON(data []byte) error

type ContentBudgetSummary

type ContentBudgetSummary struct {
	// AllowedOrientations Required. Orientations that may resolve the current conflict.
	AllowedOrientations []Orientation `json:"allowed_orientations"`
	// ConflictCount Required. Number of conflicts in the enclosing context.
	ConflictCount int64 `json:"conflict_count"`
	// CurrentOrientation Required. Current selected page orientation.
	CurrentOrientation Orientation `json:"current_orientation"`
	// FitStatus Required. Current content fit status.
	FitStatus ContentFitStatus `json:"fit_status"`
	// Summary Required. Safe explanation of why the readable budget cannot be met.
	Summary string `json:"summary"`
	// TargetPageCount Required. Target page count; fixed to one in P1.
	TargetPageCount int64 `json:"target_page_count"`
}

ContentBudgetSummary ContentBudgetSummary explains the current single-page readability budget.

func (ContentBudgetSummary) MarshalJSON

func (v ContentBudgetSummary) MarshalJSON() ([]byte, error)

func (*ContentBudgetSummary) UnmarshalJSON

func (v *ContentBudgetSummary) UnmarshalJSON(data []byte) error

type ContentChunk

type ContentChunk struct {
	// Index 片段序号(从 0 开始),用于客户端排序和校验。
	Index runtime.Optional[int64] `json:"index"`
	// Text 文本内容片段。
	Text runtime.Optional[string] `json:"text"`
}

ContentChunk ContentChunk carries a piece of LLM-generated text.

func (ContentChunk) MarshalJSON

func (v ContentChunk) MarshalJSON() ([]byte, error)

func (*ContentChunk) UnmarshalJSON

func (v *ContentChunk) UnmarshalJSON(data []byte) error

type ContentConflict

type ContentConflict struct {
	// ConflictId Required. Stable identifier within the enclosing decision context.
	ConflictId string `json:"conflict_id"`
	// MaterialIds (OPTIONAL) Optional. Source material identifiers when the conflict is attributable.
	MaterialIds runtime.Optional[[]string] `json:"material_ids"`
	// Summary Required. Safe conflict explanation without prompts or internal scoring.
	Summary string `json:"summary"`
}

ContentConflict ContentConflict identifies one user-understandable conflict that prevents the

complete source set from fitting a readable single-page result.

func (ContentConflict) MarshalJSON

func (v ContentConflict) MarshalJSON() ([]byte, error)

func (*ContentConflict) UnmarshalJSON

func (v *ContentConflict) UnmarshalJSON(data []byte) error

type ContentDecisionAction

type ContentDecisionAction string

ContentDecisionAction ContentDecisionAction identifies an explicit choice offered to resolve a

single-page content conflict.
const (
	ContentDecisionActionCONTENTDECISIONACTIONUNSPECIFIED       ContentDecisionAction = "CONTENT_DECISION_ACTION_UNSPECIFIED"
	ContentDecisionActionCONTENTDECISIONACTIONPRIORITIZE        ContentDecisionAction = "CONTENT_DECISION_ACTION_PRIORITIZE"
	ContentDecisionActionCONTENTDECISIONACTIONCONDENSE          ContentDecisionAction = "CONTENT_DECISION_ACTION_CONDENSE"
	ContentDecisionActionCONTENTDECISIONACTIONOMIT              ContentDecisionAction = "CONTENT_DECISION_ACTION_OMIT"
	ContentDecisionActionCONTENTDECISIONACTIONCHANGEORIENTATION ContentDecisionAction = "CONTENT_DECISION_ACTION_CHANGE_ORIENTATION"
)

func (ContentDecisionAction) MarshalJSON

func (v ContentDecisionAction) MarshalJSON() ([]byte, error)

func (*ContentDecisionAction) UnmarshalJSON

func (v *ContentDecisionAction) UnmarshalJSON(data []byte) error

type ContentDecisionContext

type ContentDecisionContext struct {
	// ActionToken Required. Short-lived signed token authorizing only the listed options.
	ActionToken string `json:"action_token"`
	// ActionTokenExpiresAt Required. Expiry of action_token; the durable context may remain valid.
	ActionTokenExpiresAt Timestamp `json:"action_token_expires_at"`
	// BasePageContentRevision Required. Page content revision at which the conflict was produced.
	BasePageContentRevision string `json:"base_page_content_revision"`
	// Budget Required. Current single-page content budget summary.
	Budget *ContentBudgetSummary `json:"budget"`
	// Conflicts Required. Conflicting content groups; at least one.
	Conflicts []*ContentConflict `json:"conflicts"`
	// ContextDigest Required. SHA-256 of the complete durable failure context.
	ContextDigest string `json:"context_digest"`
	// ContextId Required. Durable context identifier bound to the failed job and input.
	ContextId string `json:"context_id"`
	// Options Required. Stable client choices; at least one.
	Options []*ContentDecisionOption `json:"options"`
}

ContentDecisionContext ContentDecisionContext is the durable, typed user decision state associated

with a failed job and immutable input. It contains only safe summaries and
explicit choices, never prompts or private reasoning.

func (ContentDecisionContext) MarshalJSON

func (v ContentDecisionContext) MarshalJSON() ([]byte, error)

func (*ContentDecisionContext) UnmarshalJSON

func (v *ContentDecisionContext) UnmarshalJSON(data []byte) error

type ContentDecisionOption

type ContentDecisionOption struct {
	// Action Required. Explicit content trade-off action.
	Action ContentDecisionAction `json:"action"`
	// Label Required. Short client display label.
	Label string `json:"label"`
	// OptionId Required. Stable identifier scoped to the enclosing context.
	OptionId string `json:"option_id"`
	// Orientation (OPTIONAL) Conditional. Required only for CHANGE_ORIENTATION.
	Orientation runtime.Optional[Orientation] `json:"orientation"`
	// Summary Required. Safe expected trade-off summary.
	Summary string `json:"summary"`
}

ContentDecisionOption ContentDecisionOption is an explicit, stable choice that the client may

submit for one content decision context.

func (ContentDecisionOption) MarshalJSON

func (v ContentDecisionOption) MarshalJSON() ([]byte, error)

func (*ContentDecisionOption) UnmarshalJSON

func (v *ContentDecisionOption) UnmarshalJSON(data []byte) error

type ContentFitStatus

type ContentFitStatus string

ContentFitStatus ContentFitStatus describes whether input fits the single-page content

budget. The current decision flow only publishes OVER_CONTENT_BUDGET.
const (
	ContentFitStatusCONTENTFITSTATUSUNSPECIFIED       ContentFitStatus = "CONTENT_FIT_STATUS_UNSPECIFIED"
	ContentFitStatusCONTENTFITSTATUSOVERCONTENTBUDGET ContentFitStatus = "CONTENT_FIT_STATUS_OVER_CONTENT_BUDGET"
)

func (ContentFitStatus) MarshalJSON

func (v ContentFitStatus) MarshalJSON() ([]byte, error)

func (*ContentFitStatus) UnmarshalJSON

func (v *ContentFitStatus) UnmarshalJSON(data []byte) error

type ContentFormat

type ContentFormat string

ContentFormat ContentFormat indicates the format of the content body.

const (
	ContentFormatCONTENTFORMATUNSPECIFIED ContentFormat = "CONTENT_FORMAT_UNSPECIFIED"
	ContentFormatCONTENTFORMATMARKDOWN    ContentFormat = "CONTENT_FORMAT_MARKDOWN"
	ContentFormatCONTENTFORMATHTML        ContentFormat = "CONTENT_FORMAT_HTML"
)

func (ContentFormat) MarshalJSON

func (v ContentFormat) MarshalJSON() ([]byte, error)

func (*ContentFormat) UnmarshalJSON

func (v *ContentFormat) UnmarshalJSON(data []byte) error

type ConvertToHtmlRequest

type ConvertToHtmlRequest struct {
	// ArticleId 待转换的文章 ID,与 content 互斥。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// Content 待转换的原始 Markdown 文本,与 article_id 互斥。
	Content runtime.Optional[string] `json:"content"`
	// EnableCanvas 是否为图表/流程图等元素生成 Canvas 绘图代码。
	EnableCanvas runtime.Optional[bool] `json:"enable_canvas"`
	// TemplateStyle 视觉模板风格,例如 "modern"(现代)、"classic"(经典)、"minimal"(极简)。
	TemplateStyle runtime.Optional[string] `json:"template_style"`
}

ConvertToHtmlRequest ConvertToHtmlRequest 将 Markdown 内容转换为 HTML 格式。

支持生成 Canvas 绘图(用于图表、流程图等可视化元素)。
article_id 和 content 二选一。

func (ConvertToHtmlRequest) MarshalJSON

func (v ConvertToHtmlRequest) MarshalJSON() ([]byte, error)

func (*ConvertToHtmlRequest) UnmarshalJSON

func (v *ConvertToHtmlRequest) UnmarshalJSON(data []byte) error

type ConvertToHtmlResponse

type ConvertToHtmlResponse struct {
	// Article 转换后的完整文章实体(format=HTML),仅在 done=true 时填充。
	Article runtime.Optional[*Article] `json:"article"`
	// Done 是否转换完毕。
	Done runtime.Optional[bool] `json:"done"`
	// Event 流式事件,携带内容片段、状态更新、Token 用量或错误信息。
	Event runtime.Optional[StreamEvent] `json:"event"`
}

ConvertToHtmlResponse ConvertToHtmlResponse 是 ConvertToHtml 的流式响应。

func (ConvertToHtmlResponse) MarshalJSON

func (v ConvertToHtmlResponse) MarshalJSON() ([]byte, error)

func (*ConvertToHtmlResponse) UnmarshalJSON

func (v *ConvertToHtmlResponse) UnmarshalJSON(data []byte) error

type CostComponent

type CostComponent string

CostComponent CostComponent identifies the metered component represented by a ledger

entry. TOOL is future-reserved and is never produced in the current release.
const (
	CostComponentCOSTCOMPONENTUNSPECIFIED CostComponent = "COST_COMPONENT_UNSPECIFIED"
	CostComponentCOSTCOMPONENTAI          CostComponent = "COST_COMPONENT_AI"
	CostComponentCOSTCOMPONENTFILE        CostComponent = "COST_COMPONENT_FILE"
	CostComponentCOSTCOMPONENTSTORAGE     CostComponent = "COST_COMPONENT_STORAGE"
	CostComponentCOSTCOMPONENTTOOL        CostComponent = "COST_COMPONENT_TOOL"
)

func (CostComponent) MarshalJSON

func (v CostComponent) MarshalJSON() ([]byte, error)

func (*CostComponent) UnmarshalJSON

func (v *CostComponent) UnmarshalJSON(data []byte) error

type CostLedgerEntryRef

type CostLedgerEntryRef struct {
	// Component Required. Metered component represented by this entry.
	Component CostComponent `json:"component"`
	// CreditDelta Required. Signed effect on user net consumption; compensation is negative.
	CreditDelta string `json:"credit_delta"`
	// EntryType Required. Consume or compensation entry type.
	EntryType CostLedgerEntryType `json:"entry_type"`
	// OccurredAt Required. Wallet ledger occurrence time.
	OccurredAt Timestamp `json:"occurred_at"`
	// Purpose Required. Purpose inherited from the enclosing cost summary.
	Purpose CostPurpose `json:"purpose"`
	// WalletLedgerEntryId Required. Opaque wallet ledger entry identifier.
	WalletLedgerEntryId string `json:"wallet_ledger_entry_id"`
}

CostLedgerEntryRef CostLedgerEntryRef is a safe reference to an immutable wallet ledger entry.

func (CostLedgerEntryRef) MarshalJSON

func (v CostLedgerEntryRef) MarshalJSON() ([]byte, error)

func (*CostLedgerEntryRef) UnmarshalJSON

func (v *CostLedgerEntryRef) UnmarshalJSON(data []byte) error

type CostLedgerEntryType

type CostLedgerEntryType string

CostLedgerEntryType CostLedgerEntryType identifies the effect of a wallet ledger entry.

const (
	CostLedgerEntryTypeCOSTLEDGERENTRYTYPEUNSPECIFIED  CostLedgerEntryType = "COST_LEDGER_ENTRY_TYPE_UNSPECIFIED"
	CostLedgerEntryTypeCOSTLEDGERENTRYTYPECONSUME      CostLedgerEntryType = "COST_LEDGER_ENTRY_TYPE_CONSUME"
	CostLedgerEntryTypeCOSTLEDGERENTRYTYPECOMPENSATION CostLedgerEntryType = "COST_LEDGER_ENTRY_TYPE_COMPENSATION"
)

func (CostLedgerEntryType) MarshalJSON

func (v CostLedgerEntryType) MarshalJSON() ([]byte, error)

func (*CostLedgerEntryType) UnmarshalJSON

func (v *CostLedgerEntryType) UnmarshalJSON(data []byte) error

type CostPurpose

type CostPurpose string

CostPurpose CostPurpose classifies the user-visible purpose of a cost summary.

const (
	CostPurposeCOSTPURPOSEUNSPECIFIED          CostPurpose = "COST_PURPOSE_UNSPECIFIED"
	CostPurposeCOSTPURPOSECREATEPAGE           CostPurpose = "COST_PURPOSE_CREATE_PAGE"
	CostPurposeCOSTPURPOSEREGENERATEPAGE       CostPurpose = "COST_PURPOSE_REGENERATE_PAGE"
	CostPurposeCOSTPURPOSERETRYJOB             CostPurpose = "COST_PURPOSE_RETRY_JOB"
	CostPurposeCOSTPURPOSEFILEUPLOAD           CostPurpose = "COST_PURPOSE_FILE_UPLOAD"
	CostPurposeCOSTPURPOSECATEGORYORGANIZATION CostPurpose = "COST_PURPOSE_CATEGORY_ORGANIZATION"
	CostPurposeCOSTPURPOSESTORAGEPERIOD        CostPurpose = "COST_PURPOSE_STORAGE_PERIOD"
	CostPurposeCOSTPURPOSESTORAGEADJUSTMENT    CostPurpose = "COST_PURPOSE_STORAGE_ADJUSTMENT"
)

func (CostPurpose) MarshalJSON

func (v CostPurpose) MarshalJSON() ([]byte, error)

func (*CostPurpose) UnmarshalJSON

func (v *CostPurpose) UnmarshalJSON(data []byte) error

type CostSettlementStatus

type CostSettlementStatus string

CostSettlementStatus CostSettlementStatus is the reconciled lifecycle of a cost summary.

const (
	CostSettlementStatusCOSTSETTLEMENTSTATUSUNSPECIFIED       CostSettlementStatus = "COST_SETTLEMENT_STATUS_UNSPECIFIED"
	CostSettlementStatusCOSTSETTLEMENTSTATUSRESERVED          CostSettlementStatus = "COST_SETTLEMENT_STATUS_RESERVED"
	CostSettlementStatusCOSTSETTLEMENTSTATUSSETTLED           CostSettlementStatus = "COST_SETTLEMENT_STATUS_SETTLED"
	CostSettlementStatusCOSTSETTLEMENTSTATUSRELEASED          CostSettlementStatus = "COST_SETTLEMENT_STATUS_RELEASED"
	CostSettlementStatusCOSTSETTLEMENTSTATUSSETTLEMENTPENDING CostSettlementStatus = "COST_SETTLEMENT_STATUS_SETTLEMENT_PENDING"
)

func (CostSettlementStatus) MarshalJSON

func (v CostSettlementStatus) MarshalJSON() ([]byte, error)

func (*CostSettlementStatus) UnmarshalJSON

func (v *CostSettlementStatus) UnmarshalJSON(data []byte) error

type CostSummary

type CostSummary struct {
	// ActualAiCredit (OPTIONAL) Conditional. Required in SETTLED or RELEASED.
	ActualAiCredit runtime.Optional[string] `json:"actual_ai_credit"`
	// ActualFileCredit (OPTIONAL) Conditional. Required in SETTLED or RELEASED.
	ActualFileCredit runtime.Optional[string] `json:"actual_file_credit"`
	// ActualToolCredit (OPTIONAL) Conditional. Required in SETTLED or RELEASED; zero in the current release.
	ActualToolCredit runtime.Optional[string] `json:"actual_tool_credit"`
	// ActualTotalCredit (OPTIONAL) Conditional. Required in SETTLED or RELEASED; sum of actual components.
	ActualTotalCredit runtime.Optional[string] `json:"actual_total_credit"`
	// AuthorizedLimitExceeded (OPTIONAL) Conditional. Required whenever authorized_max_credit is present.
	AuthorizedLimitExceeded runtime.Optional[bool] `json:"authorized_limit_exceeded"`
	// AuthorizedMaxCredit (OPTIONAL) Conditional. Required for user-confirmed paid operations.
	AuthorizedMaxCredit runtime.Optional[string] `json:"authorized_max_credit"`
	// EstimatedAiCredit Required. Public AI estimate; zero when not applicable.
	EstimatedAiCredit string `json:"estimated_ai_credit"`
	// EstimatedFileCredit Required. Public file-service estimate; zero when not applicable.
	EstimatedFileCredit string `json:"estimated_file_credit"`
	// EstimatedToolCredit Required. Future-reserved tool estimate; zero in the current release.
	EstimatedToolCredit string `json:"estimated_tool_credit"`
	// EstimatedTotalCredit Required. Sum of all public estimated components.
	EstimatedTotalCredit string `json:"estimated_total_credit"`
	// NetAdjustmentCredit (OPTIONAL) Conditional. Required only for STORAGE_ADJUSTMENT; signed net adjustment.
	NetAdjustmentCredit runtime.Optional[string] `json:"net_adjustment_credit"`
	// PeriodEnd (OPTIONAL) Conditional. Required for STORAGE_PERIOD or STORAGE_ADJUSTMENT.
	PeriodEnd runtime.Optional[Timestamp] `json:"period_end"`
	// PeriodStart (OPTIONAL) Conditional. Required for STORAGE_PERIOD or STORAGE_ADJUSTMENT.
	PeriodStart runtime.Optional[Timestamp] `json:"period_start"`
	// PricingVersion Required. Public pricing contract version.
	PricingVersion string `json:"pricing_version"`
	// Purpose Required. User-visible operation purpose.
	Purpose CostPurpose `json:"purpose"`
	// ReleasedAt (OPTIONAL) Conditional. Required only when settlement_status is RELEASED.
	ReleasedAt runtime.Optional[Timestamp] `json:"released_at"`
	// SettledAt (OPTIONAL) Conditional. Required only when settlement_status is SETTLED.
	SettledAt runtime.Optional[Timestamp] `json:"settled_at"`
	// SettlementStatus Required. Aggregate settlement lifecycle.
	SettlementStatus CostSettlementStatus `json:"settlement_status"`
	// StorageStatement (OPTIONAL) Conditional. Required for STORAGE_PERIOD or STORAGE_ADJUSTMENT.
	StorageStatement runtime.Optional[*StorageStatementSnapshot] `json:"storage_statement"`
	// UpdatedAt Required. Time this aggregate summary last changed.
	UpdatedAt Timestamp `json:"updated_at"`
	// WalletLedgerEntries (OPTIONAL) Conditional. Required in SETTLED or RELEASED; may be an empty list.
	WalletLedgerEntries runtime.Optional[[]*CostLedgerEntryRef] `json:"wallet_ledger_entries"`
}

CostSummary CostSummary is the user-visible, reconciled estimate and settlement summary.

It deliberately excludes physical model names, provider keys, request IDs,
internal rate keys, and billing operation identifiers.

func (CostSummary) MarshalJSON

func (v CostSummary) MarshalJSON() ([]byte, error)

func (*CostSummary) UnmarshalJSON

func (v *CostSummary) UnmarshalJSON(data []byte) error

type CreateAPIKeyRequest

type CreateAPIKeyRequest struct {
	AllowedScopes runtime.Optional[[]string] `json:"allowed_scopes"`
	AppId         runtime.Optional[string]   `json:"app_id"`
	// ExpiresAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	Name      runtime.Optional[string]    `json:"name"`
	RateLimit runtime.Optional[int64]     `json:"rate_limit"`
}

func (CreateAPIKeyRequest) MarshalJSON

func (v CreateAPIKeyRequest) MarshalJSON() ([]byte, error)

func (*CreateAPIKeyRequest) UnmarshalJSON

func (v *CreateAPIKeyRequest) UnmarshalJSON(data []byte) error

type CreateAPIKeyResponse

type CreateAPIKeyResponse struct {
	// ApiKey APIKey represents a developer's API key credential.
	ApiKey runtime.Optional[*APIKey] `json:"api_key"`
	// Key Full key returned in plaintext only on creation
	Key runtime.Optional[string] `json:"key"`
}

func (CreateAPIKeyResponse) MarshalJSON

func (v CreateAPIKeyResponse) MarshalJSON() ([]byte, error)

func (*CreateAPIKeyResponse) UnmarshalJSON

func (v *CreateAPIKeyResponse) UnmarshalJSON(data []byte) error

type CreateApplicationRequest

type CreateApplicationRequest struct {
	// AllowedIdentities Optional. Empty defaults to the ApplicationType-based mapping; see
	//  OAuthApplication.allowed_identities for the rules.
	AllowedIdentities runtime.Optional[[]IdentityType] `json:"allowed_identities"`
	AllowedScopes     runtime.Optional[[]string]       `json:"allowed_scopes"`
	// AppName Deprecated: pass display fields via the developer center. Accepted
	//  here for legacy direct callers; will be removed in a future major
	//  version.
	AppName runtime.Optional[string] `json:"app_name"`
	// AppType ApplicationType describes the kind of OAuth client application.
	AppType runtime.Optional[ApplicationType] `json:"app_type"`
	// Description Deprecated: same as app_name.
	Description runtime.Optional[string] `json:"description"`
	// HomepageUrl Deprecated: same as app_name.
	HomepageUrl runtime.Optional[string] `json:"homepage_url"`
	// LogoUrl Deprecated: same as app_name.
	LogoUrl      runtime.Optional[string]   `json:"logo_url"`
	RedirectUris runtime.Optional[[]string] `json:"redirect_uris"`
}

func (CreateApplicationRequest) MarshalJSON

func (v CreateApplicationRequest) MarshalJSON() ([]byte, error)

func (*CreateApplicationRequest) UnmarshalJSON

func (v *CreateApplicationRequest) UnmarshalJSON(data []byte) error

type CreateApplicationResponse

type CreateApplicationResponse struct {
	// Application OAuthApplication represents a registered third-party application.
	//
	//  Display fields (`app_name`, `description`, `homepage_url`, `logo_url`)
	//  on this message are deprecated; the developer center is the
	//  authoritative source for application display metadata. The fields
	//  remain populated on read for backward compatibility and will be
	//  removed in a future major version.
	Application runtime.Optional[*OAuthApplication] `json:"application"`
	// ClientSecret Returned in plaintext only on creation
	ClientSecret runtime.Optional[string] `json:"client_secret"`
}

func (CreateApplicationResponse) MarshalJSON

func (v CreateApplicationResponse) MarshalJSON() ([]byte, error)

func (*CreateApplicationResponse) UnmarshalJSON

func (v *CreateApplicationResponse) UnmarshalJSON(data []byte) error

type CreateArticleRequest

type CreateArticleRequest struct {
	// Language 输出语言,BCP 47 格式,例如 "zh-CN"、"en-US"。
	Language runtime.Optional[string] `json:"language"`
	// ProjectId 所属项目 ID。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// ReferenceUrls 参考资料 URL 列表,LLM 可参考这些内容进行创作。
	ReferenceUrls runtime.Optional[[]string] `json:"reference_urls"`
	// Requirements 补充要求或指令,例如 "控制在3000字以内"、"包含数据图表"。
	Requirements runtime.Optional[string] `json:"requirements"`
	// Style 写作风格,例如 "professional"(专业)、"casual"(轻松)、"technical"(技术向)。
	Style runtime.Optional[string] `json:"style"`
	// Topic 创作主题/题目,例如 "2024年AI发展趋势"。
	Topic runtime.Optional[string] `json:"topic"`
}

CreateArticleRequest CreateArticleRequest 基于主题和要求,调用 LLM 生成一篇 Markdown 格式的图文。

func (CreateArticleRequest) MarshalJSON

func (v CreateArticleRequest) MarshalJSON() ([]byte, error)

func (*CreateArticleRequest) UnmarshalJSON

func (v *CreateArticleRequest) UnmarshalJSON(data []byte) error

type CreateArticleResponse

type CreateArticleResponse struct {
	// Article 完整的文章实体,仅在 done=true 时填充。
	Article runtime.Optional[*Article] `json:"article"`
	// Done 是否生成完毕。客户端收到 done=true 后应关闭流。
	Done runtime.Optional[bool] `json:"done"`
	// Event 流式事件,携带内容片段、状态更新、Token 用量或错误信息。
	Event runtime.Optional[StreamEvent] `json:"event"`
}

CreateArticleResponse CreateArticleResponse 是 CreateArticle 的流式响应。

func (CreateArticleResponse) MarshalJSON

func (v CreateArticleResponse) MarshalJSON() ([]byte, error)

func (*CreateArticleResponse) UnmarshalJSON

func (v *CreateArticleResponse) UnmarshalJSON(data []byte) error

type CreateGenerationRequest

type CreateGenerationRequest struct {
	// ClientReference (OPTIONAL) Optional. Client-local draft correlation value, at most 128 characters.
	ClientReference runtime.Optional[string] `json:"client_reference"`
	// Instruction Required. The complete production requirement, including any source text
	//  the user wants PinPage to use. It is never interpreted as a money budget.
	Instruction string `json:"instruction"`
	// MaterialIds (OPTIONAL) Optional. Complete set of READY materials attached to this generation.
	MaterialIds runtime.Optional[[]string] `json:"material_ids"`
	// Orientation (OPTIONAL) Optional. Defaults to AUTO.
	Orientation runtime.Optional[Orientation] `json:"orientation"`
	// Title (OPTIONAL) Optional. Candidate page title.
	Title runtime.Optional[string] `json:"title"`
	// UiLocale (OPTIONAL) Optional. Actual UI locale; valid Accept-Language takes precedence.
	UiLocale runtime.Optional[string] `json:"ui_locale"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (CreateGenerationRequest) MarshalJSON

func (v CreateGenerationRequest) MarshalJSON() ([]byte, error)

func (*CreateGenerationRequest) UnmarshalJSON

func (v *CreateGenerationRequest) UnmarshalJSON(data []byte) error

type CreateGenerationResponse

type CreateGenerationResponse struct {
	// Job Required. Newly created logical generation job.
	Job *JobSummary `json:"job"`
	// Page Required. Newly created page.
	Page *Page `json:"page"`
}

func (CreateGenerationResponse) MarshalJSON

func (v CreateGenerationResponse) MarshalJSON() ([]byte, error)

func (*CreateGenerationResponse) UnmarshalJSON

func (v *CreateGenerationResponse) UnmarshalJSON(data []byte) error

type CreateOAuthClientRequest

type CreateOAuthClientRequest struct {
	AllowedGrantTypes runtime.Optional[[]GrantType]    `json:"allowed_grant_types"`
	AllowedIdentities runtime.Optional[[]IdentityType] `json:"allowed_identities"`
	AllowedScopes     runtime.Optional[[]string]       `json:"allowed_scopes"`
	AppId             runtime.Optional[string]         `json:"app_id"`
	// ClientType ClientCredentialType describes whether an OAuth client can keep a secret.
	ClientType   runtime.Optional[ClientCredentialType] `json:"client_type"`
	Description  runtime.Optional[string]               `json:"description"`
	Name         runtime.Optional[string]               `json:"name"`
	RedirectUris runtime.Optional[[]string]             `json:"redirect_uris"`
}

func (CreateOAuthClientRequest) MarshalJSON

func (v CreateOAuthClientRequest) MarshalJSON() ([]byte, error)

func (*CreateOAuthClientRequest) UnmarshalJSON

func (v *CreateOAuthClientRequest) UnmarshalJSON(data []byte) error

type CreateOAuthClientResponse

type CreateOAuthClientResponse struct {
	// Client OAuthClient is one credential atom owned by IAM. An application may own
	//  multiple clients; app_id and client_id must therefore be used together for
	//  every management operation.
	//
	//  Secret material and secret hashes are deliberately absent from this read
	//  model. Plaintext is returned exactly once by create and rotate responses.
	Client runtime.Optional[*OAuthClient] `json:"client"`
	// ClientSecret Plaintext returned once; empty for public clients.
	ClientSecret runtime.Optional[string] `json:"client_secret"`
}

func (CreateOAuthClientResponse) MarshalJSON

func (v CreateOAuthClientResponse) MarshalJSON() ([]byte, error)

func (*CreateOAuthClientResponse) UnmarshalJSON

func (v *CreateOAuthClientResponse) UnmarshalJSON(data []byte) error

type CreateOrganizationRequest

type CreateOrganizationRequest struct {
	// Metadata Optional. Free-form JSON object. Server validates it parses as JSON.
	Metadata runtime.Optional[string] `json:"metadata"`
	// Name Required. Display name. 1-128 chars.
	Name runtime.Optional[string] `json:"name"`
	// Slug Required. URL-friendly slug. Server validates ^[a-z0-9-]{3,40}$ and
	//  returns ALREADY_EXISTS on conflict. Globally unique across all orgs.
	Slug runtime.Optional[string] `json:"slug"`
}

func (CreateOrganizationRequest) MarshalJSON

func (v CreateOrganizationRequest) MarshalJSON() ([]byte, error)

func (*CreateOrganizationRequest) UnmarshalJSON

func (v *CreateOrganizationRequest) UnmarshalJSON(data []byte) error

type CreateOrganizationResponse

type CreateOrganizationResponse struct {
	// Organization Organization is one of the two concrete tenant forms (the other is
	//  Workspace).
	//
	//  `org_id` is an opaque entity-id with the `org` prefix and shares the
	//  platform-wide `tenant_id` value space with workspace ids. Consumers
	//  must treat it as opaque — no parsing, no length assumptions,
	//  byte-exact case-sensitive comparison.
	Organization runtime.Optional[*Organization] `json:"organization"`
}

func (CreateOrganizationResponse) MarshalJSON

func (v CreateOrganizationResponse) MarshalJSON() ([]byte, error)

func (*CreateOrganizationResponse) UnmarshalJSON

func (v *CreateOrganizationResponse) UnmarshalJSON(data []byte) error

type CreatePresetRequest

type CreatePresetRequest struct {
	// Config 自定义配置,JSON 格式。
	Config runtime.Optional[string] `json:"config"`
	// Name 预设名称。
	Name runtime.Optional[string] `json:"name"`
	// TemplateId 基于的系统模板 ID。
	TemplateId runtime.Optional[string] `json:"template_id"`
}

func (CreatePresetRequest) MarshalJSON

func (v CreatePresetRequest) MarshalJSON() ([]byte, error)

func (*CreatePresetRequest) UnmarshalJSON

func (v *CreatePresetRequest) UnmarshalJSON(data []byte) error

type CreatePresetResponse

type CreatePresetResponse struct {
	// Preset Preset 用户自定义排版预设,基于系统模板微调。
	Preset runtime.Optional[*Preset] `json:"preset"`
}

func (CreatePresetResponse) MarshalJSON

func (v CreatePresetResponse) MarshalJSON() ([]byte, error)

func (*CreatePresetResponse) UnmarshalJSON

func (v *CreatePresetResponse) UnmarshalJSON(data []byte) error

type CreateProjectRequest

type CreateProjectRequest struct {
	// Description 项目描述。
	Description runtime.Optional[string] `json:"description"`
	// Metadata 扩展元数据,用于存储业务自定义信息(如来源、优先级等),
	//  避免频繁变更表结构。
	Metadata runtime.Optional[map[string]string] `json:"metadata"`
	// Name 项目名称。
	Name runtime.Optional[string] `json:"name"`
	// Tags 项目标签,用于分类和检索。
	Tags runtime.Optional[[]string] `json:"tags"`
}

func (CreateProjectRequest) MarshalJSON

func (v CreateProjectRequest) MarshalJSON() ([]byte, error)

func (*CreateProjectRequest) UnmarshalJSON

func (v *CreateProjectRequest) UnmarshalJSON(data []byte) error

type CreateProjectRequestMetadataEntry

type CreateProjectRequestMetadataEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (CreateProjectRequestMetadataEntry) MarshalJSON

func (v CreateProjectRequestMetadataEntry) MarshalJSON() ([]byte, error)

func (*CreateProjectRequestMetadataEntry) UnmarshalJSON

func (v *CreateProjectRequestMetadataEntry) UnmarshalJSON(data []byte) error

type CreateProjectResponse

type CreateProjectResponse struct {
	// Project Project groups related creative content together.
	//  Project 是创作的顶层聚合单元,一个项目包含多篇文章、多个视频任务和多个素材。
	//  典型场景:一次营销活动、一个专题系列、一期内容排期。
	Project runtime.Optional[*Project] `json:"project"`
}

func (CreateProjectResponse) MarshalJSON

func (v CreateProjectResponse) MarshalJSON() ([]byte, error)

func (*CreateProjectResponse) UnmarshalJSON

func (v *CreateProjectResponse) UnmarshalJSON(data []byte) error

type CreateScopeRequest

type CreateScopeRequest struct {
	Category    runtime.Optional[string] `json:"category"`
	Description runtime.Optional[string] `json:"description"`
	DisplayName runtime.Optional[string] `json:"display_name"`
	IsSensitive runtime.Optional[bool]   `json:"is_sensitive"`
	Name        runtime.Optional[string] `json:"name"`
}

func (CreateScopeRequest) MarshalJSON

func (v CreateScopeRequest) MarshalJSON() ([]byte, error)

func (*CreateScopeRequest) UnmarshalJSON

func (v *CreateScopeRequest) UnmarshalJSON(data []byte) error

type CreateScopeResponse

type CreateScopeResponse struct {
	// Scope Scope defines a permission boundary for OAuth access control.
	Scope runtime.Optional[*Scope] `json:"scope"`
}

func (CreateScopeResponse) MarshalJSON

func (v CreateScopeResponse) MarshalJSON() ([]byte, error)

func (*CreateScopeResponse) UnmarshalJSON

func (v *CreateScopeResponse) UnmarshalJSON(data []byte) error

type CreateSessionRequest

type CreateSessionRequest struct {
	// DeviceInfo DeviceInfo describes the client device.
	DeviceInfo runtime.Optional[*DeviceInfo] `json:"device_info"`
	Ip         runtime.Optional[string]      `json:"ip"`
	Port       runtime.Optional[int64]       `json:"port"`
}

func (CreateSessionRequest) MarshalJSON

func (v CreateSessionRequest) MarshalJSON() ([]byte, error)

func (*CreateSessionRequest) UnmarshalJSON

func (v *CreateSessionRequest) UnmarshalJSON(data []byte) error

type CreateSessionResponse

type CreateSessionResponse struct {
	CsrfToken runtime.Optional[string] `json:"csrf_token"`
	SessionId runtime.Optional[string] `json:"session_id"`
	// Tokens TokenPair contains access and refresh tokens returned after authentication.
	Tokens runtime.Optional[*TokenPair] `json:"tokens"`
}

func (CreateSessionResponse) MarshalJSON

func (v CreateSessionResponse) MarshalJSON() ([]byte, error)

func (*CreateSessionResponse) UnmarshalJSON

func (v *CreateSessionResponse) UnmarshalJSON(data []byte) error

type CreateUploadRequest

type CreateUploadRequest struct {
	// ConfirmedAuthorizedMaxCredit Required. Exact parent-estimate maximum net charge confirmed by the user.
	ConfirmedAuthorizedMaxCredit string `json:"confirmed_authorized_max_credit"`
	// EstimateItemId Required. Available item in an unexpired upload estimate.
	EstimateItemId string `json:"estimate_item_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (CreateUploadRequest) MarshalJSON

func (v CreateUploadRequest) MarshalJSON() ([]byte, error)

func (*CreateUploadRequest) UnmarshalJSON

func (v *CreateUploadRequest) UnmarshalJSON(data []byte) error

type CreateUploadResponse

type CreateUploadResponse struct {
	// Upload Required. Newly created durable multipart session.
	Upload *UploadSession `json:"upload"`
	// UploadEstimate Required. Parent estimate after atomic item consumption.
	UploadEstimate *UploadEstimate `json:"upload_estimate"`
}

func (CreateUploadResponse) MarshalJSON

func (v CreateUploadResponse) MarshalJSON() ([]byte, error)

func (*CreateUploadResponse) UnmarshalJSON

func (v *CreateUploadResponse) UnmarshalJSON(data []byte) error

type CreateVertexAPIKeyRequest added in v0.61.0

type CreateVertexAPIKeyRequest struct {
	AllowedModels runtime.Optional[[]string] `json:"allowed_models"`
	CallerService runtime.Optional[string]   `json:"caller_service"`
	// ExpiresAt Required, in the future and no more than 366 days from now.
	ExpiresAt   runtime.Optional[Timestamp] `json:"expires_at"`
	Name        runtime.Optional[string]    `json:"name"`
	OwnerUserId runtime.Optional[string]    `json:"owner_user_id"`
	// RequestId Unique issuance attempt ID. Replays return ALREADY_EXISTS, without issuing
	//  another key. If a response is lost, revoke its listed key and create anew.
	RequestId runtime.Optional[string] `json:"request_id"`
}

func (CreateVertexAPIKeyRequest) MarshalJSON added in v0.61.0

func (v CreateVertexAPIKeyRequest) MarshalJSON() ([]byte, error)

func (*CreateVertexAPIKeyRequest) UnmarshalJSON added in v0.61.0

func (v *CreateVertexAPIKeyRequest) UnmarshalJSON(data []byte) error

type CreateVertexAPIKeyResponse added in v0.61.0

type CreateVertexAPIKeyResponse struct {
	// ApiKey Secret, shown once; must never be logged, cached or persisted by Smithy.
	ApiKey runtime.Optional[string] `json:"api_key"`
	// Key VertexAPIKey contains non-secret metadata only. Identity bindings are immutable.
	Key runtime.Optional[*VertexAPIKey] `json:"key"`
}

func (CreateVertexAPIKeyResponse) MarshalJSON added in v0.61.0

func (v CreateVertexAPIKeyResponse) MarshalJSON() ([]byte, error)

func (*CreateVertexAPIKeyResponse) UnmarshalJSON added in v0.61.0

func (v *CreateVertexAPIKeyResponse) UnmarshalJSON(data []byte) error

type CreateVideoRequest

type CreateVideoRequest struct {
	// AssetIds 需要包含在视频中的素材 ID 列表(图片、音频等)。
	AssetIds runtime.Optional[[]string] `json:"asset_ids"`
	// Height 输出分辨率高度(像素),默认 1080。
	Height runtime.Optional[int64] `json:"height"`
	// ProjectId 所属项目 ID,与 task_id 互斥时使用。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// Script 直接提供的视频脚本文本,与 task_id 互斥时使用。
	Script runtime.Optional[string] `json:"script"`
	// Style 视频风格。
	Style runtime.Optional[VideoStyle] `json:"style"`
	// TaskId 已有的视频任务 ID(包含 LLM 生成的脚本),与 project_id+script 互斥。
	TaskId runtime.Optional[string] `json:"task_id"`
	// Width 输出分辨率宽度(像素),默认 1920。
	Width runtime.Optional[int64] `json:"width"`
}

CreateVideoRequest CreateVideoRequest 基于脚本和素材合成视频。

支持两种模式:
  1. 指定 task_id —— 使用已有 VideoTask 中 LLM 生成的脚本
  2. 指定 project_id + script —— 直接提供脚本创建视频

func (CreateVideoRequest) MarshalJSON

func (v CreateVideoRequest) MarshalJSON() ([]byte, error)

func (*CreateVideoRequest) UnmarshalJSON

func (v *CreateVideoRequest) UnmarshalJSON(data []byte) error

type CreateVideoResponse

type CreateVideoResponse struct {
	// Task VideoTask represents a video generation job.
	//  视频生成是异步任务,客户端提交后通过轮询 GetVideoTask 获取进度。
	Task runtime.Optional[*VideoTask] `json:"task"`
}

CreateVideoResponse CreateVideoResponse 返回创建的视频任务。

视频合成为异步操作,通过 GetVideoTask 轮询进度。

func (CreateVideoResponse) MarshalJSON

func (v CreateVideoResponse) MarshalJSON() ([]byte, error)

func (*CreateVideoResponse) UnmarshalJSON

func (v *CreateVideoResponse) UnmarshalJSON(data []byte) error

type CreateWebhookRequest

type CreateWebhookRequest struct {
	AppId            runtime.Optional[string]   `json:"app_id"`
	SubscribedEvents runtime.Optional[[]string] `json:"subscribed_events"`
	Url              runtime.Optional[string]   `json:"url"`
}

func (CreateWebhookRequest) MarshalJSON

func (v CreateWebhookRequest) MarshalJSON() ([]byte, error)

func (*CreateWebhookRequest) UnmarshalJSON

func (v *CreateWebhookRequest) UnmarshalJSON(data []byte) error

type CreateWebhookResponse

type CreateWebhookResponse struct {
	// SigningSecret Returned in plaintext only on creation
	SigningSecret runtime.Optional[string] `json:"signing_secret"`
	// Webhook Webhook represents a registered webhook endpoint.
	Webhook runtime.Optional[*Webhook] `json:"webhook"`
}

func (CreateWebhookResponse) MarshalJSON

func (v CreateWebhookResponse) MarshalJSON() ([]byte, error)

func (*CreateWebhookResponse) UnmarshalJSON

func (v *CreateWebhookResponse) UnmarshalJSON(data []byte) error

type CreativePromptGetPromptTemplateParams

type CreativePromptGetPromptTemplateParams struct {
	TemplateId string
}

type CreativePromptService

type CreativePromptService struct {
	// contains filtered or unexported fields
}

func (*CreativePromptService) GetPromptTemplate

GetPromptTemplate GetPromptTemplate

获取指定模板的排版提示词。

提示词描述了该模板的排版规则,可直接用于 LLM 指令。

type CurrentVersionSummary

type CurrentVersionSummary struct {
	// HtmlSha256 Required. SHA-256 of the complete normalized HTML.
	HtmlSha256 string `json:"html_sha256"`
	// Orientation Required. Published A4 page orientation.
	Orientation Orientation `json:"orientation"`
	// PngExportId Required. Opaque identifier of the persisted PNG artifact.
	PngExportId string `json:"png_export_id"`
	// PngSha256 Required. SHA-256 of the persisted PNG used for the thumbnail.
	PngSha256 string `json:"png_sha256"`
	// PngSizeBytes Required. Actual persisted PNG size in bytes.
	PngSizeBytes string `json:"png_size_bytes"`
	// ThumbnailUrl Required. Short-lived, owner-authorized thumbnail URL or ticket.
	ThumbnailUrl string `json:"thumbnail_url"`
	// ThumbnailUrlExpiresAt Required. Expiry time of thumbnail_url.
	ThumbnailUrlExpiresAt Timestamp `json:"thumbnail_url_expires_at"`
	// VersionId Required. Opaque current version identifier.
	VersionId string `json:"version_id"`
}

CurrentVersionSummary CurrentVersionSummary is the lightweight projection of a page's current,

fully published version. It never includes the HTML body.

func (CurrentVersionSummary) MarshalJSON

func (v CurrentVersionSummary) MarshalJSON() ([]byte, error)

func (*CurrentVersionSummary) UnmarshalJSON

func (v *CurrentVersionSummary) UnmarshalJSON(data []byte) error

type DeleteAccountRequest

type DeleteAccountRequest struct {
	PasswordHash runtime.Optional[string] `json:"password_hash"`
	Reason       runtime.Optional[string] `json:"reason"`
}

func (DeleteAccountRequest) MarshalJSON

func (v DeleteAccountRequest) MarshalJSON() ([]byte, error)

func (*DeleteAccountRequest) UnmarshalJSON

func (v *DeleteAccountRequest) UnmarshalJSON(data []byte) error

type DeleteAccountResponse

type DeleteAccountResponse = any

type DeleteApplicationRequest

type DeleteApplicationRequest struct {
	AppId runtime.Optional[string] `json:"app_id"`
}

func (DeleteApplicationRequest) MarshalJSON

func (v DeleteApplicationRequest) MarshalJSON() ([]byte, error)

func (*DeleteApplicationRequest) UnmarshalJSON

func (v *DeleteApplicationRequest) UnmarshalJSON(data []byte) error

type DeleteApplicationResponse

type DeleteApplicationResponse = any

type DeleteArticleRequest

type DeleteArticleRequest struct {
	ArticleId runtime.Optional[string] `json:"article_id"`
}

func (DeleteArticleRequest) MarshalJSON

func (v DeleteArticleRequest) MarshalJSON() ([]byte, error)

func (*DeleteArticleRequest) UnmarshalJSON

func (v *DeleteArticleRequest) UnmarshalJSON(data []byte) error

type DeleteArticleResponse

type DeleteArticleResponse = any

type DeleteAssetRequest

type DeleteAssetRequest struct {
	AssetId runtime.Optional[string] `json:"asset_id"`
}

func (DeleteAssetRequest) MarshalJSON

func (v DeleteAssetRequest) MarshalJSON() ([]byte, error)

func (*DeleteAssetRequest) UnmarshalJSON

func (v *DeleteAssetRequest) UnmarshalJSON(data []byte) error

type DeleteAssetResponse

type DeleteAssetResponse = any

type DeleteAvatarRequest

type DeleteAvatarRequest = any

type DeleteAvatarResponse

type DeleteAvatarResponse = any

type DeleteCategoryRequest

type DeleteCategoryRequest struct {
	// CategoryId Required. Root category to revoke and delete with its subtree.
	CategoryId string `json:"category_id"`
	// ImpactFingerprint Required. Exact aggregate impact fingerprint from the adjacent preview.
	ImpactFingerprint string `json:"impact_fingerprint"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (DeleteCategoryRequest) MarshalJSON

func (v DeleteCategoryRequest) MarshalJSON() ([]byte, error)

func (*DeleteCategoryRequest) UnmarshalJSON

func (v *DeleteCategoryRequest) UnmarshalJSON(data []byte) error

type DeleteCategoryResponse

type DeleteCategoryResponse struct {
	// DeletionResult Required. Safe category-subtree deletion receipt.
	DeletionResult *CategoryDeletionResult `json:"deletion_result"`
}

func (DeleteCategoryResponse) MarshalJSON

func (v DeleteCategoryResponse) MarshalJSON() ([]byte, error)

func (*DeleteCategoryResponse) UnmarshalJSON

func (v *DeleteCategoryResponse) UnmarshalJSON(data []byte) error

type DeleteMaterialRequest

type DeleteMaterialRequest struct {
	// MaterialId Required. Unbound material whose access is revoked.
	MaterialId string `json:"material_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (DeleteMaterialRequest) MarshalJSON

func (v DeleteMaterialRequest) MarshalJSON() ([]byte, error)

func (*DeleteMaterialRequest) UnmarshalJSON

func (v *DeleteMaterialRequest) UnmarshalJSON(data []byte) error

type DeleteMaterialResponse

type DeleteMaterialResponse struct {
	// DeletionResult Required. Safe access-revocation receipt.
	DeletionResult *MaterialDeletionResult `json:"deletion_result"`
}

func (DeleteMaterialResponse) MarshalJSON

func (v DeleteMaterialResponse) MarshalJSON() ([]byte, error)

func (*DeleteMaterialResponse) UnmarshalJSON

func (v *DeleteMaterialResponse) UnmarshalJSON(data []byte) error

type DeleteOAuthClientRequest

type DeleteOAuthClientRequest struct {
	AppId    runtime.Optional[string] `json:"app_id"`
	ClientId runtime.Optional[string] `json:"client_id"`
}

func (DeleteOAuthClientRequest) MarshalJSON

func (v DeleteOAuthClientRequest) MarshalJSON() ([]byte, error)

func (*DeleteOAuthClientRequest) UnmarshalJSON

func (v *DeleteOAuthClientRequest) UnmarshalJSON(data []byte) error

type DeleteOAuthClientResponse

type DeleteOAuthClientResponse = any

type DeleteOrganizationRequest

type DeleteOrganizationRequest struct {
	OrgId runtime.Optional[string] `json:"org_id"`
}

func (DeleteOrganizationRequest) MarshalJSON

func (v DeleteOrganizationRequest) MarshalJSON() ([]byte, error)

func (*DeleteOrganizationRequest) UnmarshalJSON

func (v *DeleteOrganizationRequest) UnmarshalJSON(data []byte) error

type DeleteOrganizationResponse

type DeleteOrganizationResponse = any

type DeletePageRequest

type DeletePageRequest struct {
	// ExpectedContentRevision Required. Content revision returned by the adjacent preview.
	ExpectedContentRevision string `json:"expected_content_revision"`
	// ImpactFingerprint Required. Exact impact fingerprint returned by the adjacent preview.
	ImpactFingerprint string `json:"impact_fingerprint"`
	// PageEtag (OPTIONAL) Optional. Exact representation validator requested by the client.
	PageEtag runtime.Optional[string] `json:"page_etag"`
	// PageId Required. Page to revoke and delete.
	PageId string `json:"page_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (DeletePageRequest) MarshalJSON

func (v DeletePageRequest) MarshalJSON() ([]byte, error)

func (*DeletePageRequest) UnmarshalJSON

func (v *DeletePageRequest) UnmarshalJSON(data []byte) error

type DeletePageResponse

type DeletePageResponse struct {
	// DeletionResult Required. Safe logical-deletion receipt and physical-cleanup deadline.
	DeletionResult *PageDeletionResult `json:"deletion_result"`
}

func (DeletePageResponse) MarshalJSON

func (v DeletePageResponse) MarshalJSON() ([]byte, error)

func (*DeletePageResponse) UnmarshalJSON

func (v *DeletePageResponse) UnmarshalJSON(data []byte) error

type DeletePresetRequest

type DeletePresetRequest struct {
	PresetId runtime.Optional[string] `json:"preset_id"`
}

func (DeletePresetRequest) MarshalJSON

func (v DeletePresetRequest) MarshalJSON() ([]byte, error)

func (*DeletePresetRequest) UnmarshalJSON

func (v *DeletePresetRequest) UnmarshalJSON(data []byte) error

type DeletePresetResponse

type DeletePresetResponse = any

type DeleteProjectRequest

type DeleteProjectRequest struct {
	ProjectId runtime.Optional[string] `json:"project_id"`
}

DeleteProjectRequest DeleteProjectRequest 删除项目。

注意:将级联删除项目下的所有文章、视频任务和素材。

func (DeleteProjectRequest) MarshalJSON

func (v DeleteProjectRequest) MarshalJSON() ([]byte, error)

func (*DeleteProjectRequest) UnmarshalJSON

func (v *DeleteProjectRequest) UnmarshalJSON(data []byte) error

type DeleteProjectResponse

type DeleteProjectResponse = any

type DeleteVertexAPIKeyRequest added in v0.61.0

type DeleteVertexAPIKeyRequest struct {
	ApiKeyId        runtime.Optional[string] `json:"api_key_id"`
	ExpectedVersion runtime.Optional[string] `json:"expected_version"`
}

func (DeleteVertexAPIKeyRequest) MarshalJSON added in v0.61.0

func (v DeleteVertexAPIKeyRequest) MarshalJSON() ([]byte, error)

func (*DeleteVertexAPIKeyRequest) UnmarshalJSON added in v0.61.0

func (v *DeleteVertexAPIKeyRequest) UnmarshalJSON(data []byte) error

type DeleteVertexAPIKeyResponse added in v0.61.0

type DeleteVertexAPIKeyResponse = any

type DeleteVideoTaskRequest

type DeleteVideoTaskRequest struct {
	TaskId runtime.Optional[string] `json:"task_id"`
}

DeleteVideoTaskRequest DeleteVideoTaskRequest 删除视频任务及其生成的视频文件。

func (DeleteVideoTaskRequest) MarshalJSON

func (v DeleteVideoTaskRequest) MarshalJSON() ([]byte, error)

func (*DeleteVideoTaskRequest) UnmarshalJSON

func (v *DeleteVideoTaskRequest) UnmarshalJSON(data []byte) error

type DeleteVideoTaskResponse

type DeleteVideoTaskResponse = any

type DeleteWebhookRequest

type DeleteWebhookRequest struct {
	WebhookId runtime.Optional[string] `json:"webhook_id"`
}

func (DeleteWebhookRequest) MarshalJSON

func (v DeleteWebhookRequest) MarshalJSON() ([]byte, error)

func (*DeleteWebhookRequest) UnmarshalJSON

func (v *DeleteWebhookRequest) UnmarshalJSON(data []byte) error

type DeleteWebhookResponse

type DeleteWebhookResponse = any

type DeliveryStatus

type DeliveryStatus string

DeliveryStatus DeliveryStatus represents the outcome of a webhook delivery attempt.

const (
	DeliveryStatusDELIVERYSTATUSUNSPECIFIED DeliveryStatus = "DELIVERY_STATUS_UNSPECIFIED"
	DeliveryStatusDELIVERYSTATUSSUCCESS     DeliveryStatus = "DELIVERY_STATUS_SUCCESS"
	DeliveryStatusDELIVERYSTATUSFAILED      DeliveryStatus = "DELIVERY_STATUS_FAILED"
	DeliveryStatusDELIVERYSTATUSPENDING     DeliveryStatus = "DELIVERY_STATUS_PENDING"
)

func (DeliveryStatus) MarshalJSON

func (v DeliveryStatus) MarshalJSON() ([]byte, error)

func (*DeliveryStatus) UnmarshalJSON

func (v *DeliveryStatus) UnmarshalJSON(data []byte) error

type DeviceInfo

type DeviceInfo struct {
	DeviceId   runtime.Optional[string] `json:"device_id"`
	DeviceName runtime.Optional[string] `json:"device_name"`
	UserAgent  runtime.Optional[string] `json:"user_agent"`
}

DeviceInfo DeviceInfo describes the client device.

func (DeviceInfo) MarshalJSON

func (v DeviceInfo) MarshalJSON() ([]byte, error)

func (*DeviceInfo) UnmarshalJSON

func (v *DeviceInfo) UnmarshalJSON(data []byte) error

type Duration

type Duration = string

Duration A Duration represents a signed, fixed-length span of time represented

as a count of seconds and fractions of seconds at nanosecond
resolution. It is independent of any calendar and concepts like "day"
or "month". It is related to Timestamp in that the difference between
two Timestamp values is a Duration and it can be added or subtracted
from a Timestamp. Range is approximately +-10,000 years.

# Examples

Example 1: Compute Duration from two Timestamps in pseudo code.

    Timestamp start = ...;
    Timestamp end = ...;
    Duration duration = ...;

    duration.seconds = end.seconds - start.seconds;
    duration.nanos = end.nanos - start.nanos;

    if (duration.seconds < 0 && duration.nanos > 0) {
      duration.seconds += 1;
      duration.nanos -= 1000000000;
    } else if (duration.seconds > 0 && duration.nanos < 0) {
      duration.seconds -= 1;
      duration.nanos += 1000000000;
    }

Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.

    Timestamp start = ...;
    Duration duration = ...;
    Timestamp end = ...;

    end.seconds = start.seconds + duration.seconds;
    end.nanos = start.nanos + duration.nanos;

    if (end.nanos < 0) {
      end.seconds -= 1;
      end.nanos += 1000000000;
    } else if (end.nanos >= 1000000000) {
      end.seconds += 1;
      end.nanos -= 1000000000;
    }

Example 3: Compute Duration from datetime.timedelta in Python.

    td = datetime.timedelta(days=3, minutes=10)
    duration = Duration()
    duration.FromTimedelta(td)

# JSON Mapping

In JSON format, the Duration type is encoded as a string rather than an
object, where the string ends in the suffix "s" (indicating seconds) and
is preceded by the number of seconds, with nanoseconds expressed as
fractional seconds. For example, 3 seconds with 0 nanoseconds should be
encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
be expressed in JSON format as "3.000000001s", and 3 seconds and 1
microsecond should be expressed in JSON format as "3.000001s".

type EstimateCategoryOrganizationRequest

type EstimateCategoryOrganizationRequest struct {
	// Instruction Required. One-time organization instruction, from 1 to 2,000 characters.
	Instruction string `json:"instruction"`
	// ScopeCategoryId (OPTIONAL) Optional. Omit for the whole tree; otherwise restrict to this subtree.
	ScopeCategoryId runtime.Optional[string] `json:"scope_category_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (EstimateCategoryOrganizationRequest) MarshalJSON

func (v EstimateCategoryOrganizationRequest) MarshalJSON() ([]byte, error)

func (*EstimateCategoryOrganizationRequest) UnmarshalJSON

func (v *EstimateCategoryOrganizationRequest) UnmarshalJSON(data []byte) error

type EstimateCategoryOrganizationResponse

type EstimateCategoryOrganizationResponse struct {
	// OrganizationEstimate Required. Durable no-charge category organization estimate.
	OrganizationEstimate *CategoryOrganizationEstimate `json:"organization_estimate"`
}

func (EstimateCategoryOrganizationResponse) MarshalJSON

func (v EstimateCategoryOrganizationResponse) MarshalJSON() ([]byte, error)

func (*EstimateCategoryOrganizationResponse) UnmarshalJSON

func (v *EstimateCategoryOrganizationResponse) UnmarshalJSON(data []byte) error

type EstimateGenerationRequest

type EstimateGenerationRequest struct {
	// AddMaterialIds (OPTIONAL) Optional. Materials added to a regeneration baseline.
	AddMaterialIds runtime.Optional[[]string] `json:"add_material_ids"`
	// BaseJobId (OPTIONAL) Optional. Regeneration baseline job when the selected branch requires one.
	BaseJobId runtime.Optional[string] `json:"base_job_id"`
	// BriefInstruction (OPTIONAL) Optional. Required for create and an optional delta for regeneration.
	BriefInstruction runtime.Optional[string] `json:"brief_instruction"`
	// ContentDecisionActionToken (OPTIONAL) Optional. Required with content_decision_context_id and never logged.
	ContentDecisionActionToken runtime.Optional[string] `json:"content_decision_action_token"`
	// ContentDecisionContextDigest (OPTIONAL) Optional. Required with content_decision_context_id.
	ContentDecisionContextDigest runtime.Optional[string] `json:"content_decision_context_digest"`
	// ContentDecisionContextId (OPTIONAL) Optional. Required when resolving a durable content-decision context.
	ContentDecisionContextId runtime.Optional[string] `json:"content_decision_context_id"`
	// ContentDecisionNote (OPTIONAL) Optional. Regeneration-only note accompanying selected option identifiers.
	ContentDecisionNote runtime.Optional[string] `json:"content_decision_note"`
	// ContentDecisionOptionIds (OPTIONAL) Optional. Required and non-empty with content_decision_context_id.
	ContentDecisionOptionIds runtime.Optional[[]string] `json:"content_decision_option_ids"`
	// ExternalInformationMode (OPTIONAL) Optional. Required for create/regeneration and currently must be DISABLED.
	ExternalInformationMode runtime.Optional[ExternalInformationMode] `json:"external_information_mode"`
	// InlineText (OPTIONAL) Optional. Complete inline source for create; forbidden for other operations.
	InlineText runtime.Optional[string] `json:"inline_text"`
	// InlineTextChange (OPTIONAL) Optional. Typed inline-text delta for regeneration only.
	InlineTextChange runtime.Optional[*InlineTextChange] `json:"inline_text_change"`
	// MaterialIds (OPTIONAL) Optional. Complete create-time material set; conditionally non-empty.
	MaterialIds runtime.Optional[[]string] `json:"material_ids"`
	// Operation Required. CREATE_PAGE, REGENERATE_PAGE, or RETRY_JOB.
	Operation GenerationOperation `json:"operation"`
	// Orientation (OPTIONAL) Optional. Create or regeneration orientation; forbidden for retry.
	Orientation runtime.Optional[Orientation] `json:"orientation"`
	// PageId (OPTIONAL) Optional. Required for REGENERATE_PAGE and RETRY_JOB; forbidden for create.
	PageId runtime.Optional[string] `json:"page_id"`
	// RemoveMaterialIds (OPTIONAL) Optional. Materials removed from a regeneration baseline.
	RemoveMaterialIds runtime.Optional[[]string] `json:"remove_material_ids"`
	// SourceJobId (OPTIONAL) Optional. Required only for RETRY_JOB.
	SourceJobId runtime.Optional[string] `json:"source_job_id"`
	// Title (OPTIONAL) Optional. Create-only candidate title.
	Title runtime.Optional[string] `json:"title"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (EstimateGenerationRequest) MarshalJSON

func (v EstimateGenerationRequest) MarshalJSON() ([]byte, error)

func (*EstimateGenerationRequest) UnmarshalJSON

func (v *EstimateGenerationRequest) UnmarshalJSON(data []byte) error

type EstimateGenerationResponse

type EstimateGenerationResponse struct {
	// Estimate Required. Durable frozen estimate and input fingerprint.
	Estimate *GenerationEstimate `json:"estimate"`
}

func (EstimateGenerationResponse) MarshalJSON

func (v EstimateGenerationResponse) MarshalJSON() ([]byte, error)

func (*EstimateGenerationResponse) UnmarshalJSON

func (v *EstimateGenerationResponse) UnmarshalJSON(data []byte) error

type EstimateState

type EstimateState string

EstimateState EstimateState is the lifecycle of a generation or category-organization

estimate.
const (
	EstimateStateESTIMATESTATEUNSPECIFIED EstimateState = "ESTIMATE_STATE_UNSPECIFIED"
	EstimateStateESTIMATESTATEACTIVE      EstimateState = "ESTIMATE_STATE_ACTIVE"
	EstimateStateESTIMATESTATECONSUMED    EstimateState = "ESTIMATE_STATE_CONSUMED"
	EstimateStateESTIMATESTATEEXPIRED     EstimateState = "ESTIMATE_STATE_EXPIRED"
)

func (EstimateState) MarshalJSON

func (v EstimateState) MarshalJSON() ([]byte, error)

func (*EstimateState) UnmarshalJSON

func (v *EstimateState) UnmarshalJSON(data []byte) error

type EstimateUploadRequest

type EstimateUploadRequest struct {
	// Files Required. One to ten declarations with at most 200 MB in aggregate.
	Files []*UploadEstimateDeclaration `json:"files"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (EstimateUploadRequest) MarshalJSON

func (v EstimateUploadRequest) MarshalJSON() ([]byte, error)

func (*EstimateUploadRequest) UnmarshalJSON

func (v *EstimateUploadRequest) UnmarshalJSON(data []byte) error

type EstimateUploadResponse

type EstimateUploadResponse struct {
	// UploadEstimate Required. Durable short-lived batch estimate; no charge has occurred.
	UploadEstimate *UploadEstimate `json:"upload_estimate"`
}

func (EstimateUploadResponse) MarshalJSON

func (v EstimateUploadResponse) MarshalJSON() ([]byte, error)

func (*EstimateUploadResponse) UnmarshalJSON

func (v *EstimateUploadResponse) UnmarshalJSON(data []byte) error

type ExchangeSessionRequest

type ExchangeSessionRequest struct {
	CsrfToken runtime.Optional[string] `json:"csrf_token"`
	SessionId runtime.Optional[string] `json:"session_id"`
}

func (ExchangeSessionRequest) MarshalJSON

func (v ExchangeSessionRequest) MarshalJSON() ([]byte, error)

func (*ExchangeSessionRequest) UnmarshalJSON

func (v *ExchangeSessionRequest) UnmarshalJSON(data []byte) error

type ExchangeSessionResponse

type ExchangeSessionResponse struct {
	// Tokens TokenPair contains access and refresh tokens returned after authentication.
	Tokens runtime.Optional[*TokenPair] `json:"tokens"`
	UserId runtime.Optional[string]     `json:"user_id"`
}

func (ExchangeSessionResponse) MarshalJSON

func (v ExchangeSessionResponse) MarshalJSON() ([]byte, error)

func (*ExchangeSessionResponse) UnmarshalJSON

func (v *ExchangeSessionResponse) UnmarshalJSON(data []byte) error

type ExportArtifact

type ExportArtifact struct {
	// DownloadUrl Required. Short-lived owner-authorized download URL or ticket.
	DownloadUrl string `json:"download_url"`
	// ExpiresAt Required. Expiry time of download_url.
	ExpiresAt Timestamp `json:"expires_at"`
	// ExportId Required. Opaque export artifact identifier.
	ExportId string `json:"export_id"`
	// Format Required. PDF or PNG artifact format.
	Format ExportFormat `json:"format"`
	// Orientation Required. Orientation inherited from the source version.
	Orientation Orientation `json:"orientation"`
	// PageId Required. Opaque owning page identifier.
	PageId string `json:"page_id"`
	// Sha256 Required. SHA-256 of the validated artifact.
	Sha256 string `json:"sha256"`
	// SizeBytes Required. Actual persisted artifact size in bytes.
	SizeBytes string `json:"size_bytes"`
	// VersionId Required. Unique source version identifier.
	VersionId string `json:"version_id"`
}

ExportArtifact ExportArtifact is an immutable published artifact plus a freshly authorized

short-lived download ticket. It never exposes an object-storage key.

func (ExportArtifact) MarshalJSON

func (v ExportArtifact) MarshalJSON() ([]byte, error)

func (*ExportArtifact) UnmarshalJSON

func (v *ExportArtifact) UnmarshalJSON(data []byte) error

type ExportFormat

type ExportFormat string

ExportFormat ExportFormat identifies an immutable published artifact format.

const (
	ExportFormatEXPORTFORMATUNSPECIFIED ExportFormat = "EXPORT_FORMAT_UNSPECIFIED"
	ExportFormatEXPORTFORMATPDF         ExportFormat = "EXPORT_FORMAT_PDF"
	ExportFormatEXPORTFORMATPNG         ExportFormat = "EXPORT_FORMAT_PNG"
)

func (ExportFormat) MarshalJSON

func (v ExportFormat) MarshalJSON() ([]byte, error)

func (*ExportFormat) UnmarshalJSON

func (v *ExportFormat) UnmarshalJSON(data []byte) error

type ExportsGetPageExportParams

type ExportsGetPageExportParams struct {
	// ExportId Required. Persisted artifact identifier belonging to version_id.
	ExportId string
	// PageId Required. Owning page identifier.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// VersionId Required. Immutable source version identifier.
	VersionId string
}

type ExportsService

type ExportsService struct {
	// contains filtered or unexported fields
}

func (*ExportsService) GetPageExport

GetPageExport GetPageExport

Refresh the controlled download ticket for a published artifact.

export_id: Required. Persisted artifact identifier belonging to version_id.

page_id: Required. Owning page identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

version_id: Required. Immutable source version identifier.

type ExternalInformationMode

type ExternalInformationMode string

ExternalInformationMode ExternalInformationMode controls whether external information may be used.

The current release only accepts DISABLED. The web-search values are
future-reserved and must be rejected before any LLM, tool, or billing work.
const (
	ExternalInformationModeEXTERNALINFORMATIONMODEUNSPECIFIED       ExternalInformationMode = "EXTERNAL_INFORMATION_MODE_UNSPECIFIED"
	ExternalInformationModeEXTERNALINFORMATIONMODEDISABLED          ExternalInformationMode = "EXTERNAL_INFORMATION_MODE_DISABLED"
	ExternalInformationModeEXTERNALINFORMATIONMODEAUTOWEBSEARCH     ExternalInformationMode = "EXTERNAL_INFORMATION_MODE_AUTO_WEB_SEARCH"
	ExternalInformationModeEXTERNALINFORMATIONMODEREQUIREDWEBSEARCH ExternalInformationMode = "EXTERNAL_INFORMATION_MODE_REQUIRED_WEB_SEARCH"
)

func (ExternalInformationMode) MarshalJSON

func (v ExternalInformationMode) MarshalJSON() ([]byte, error)

func (*ExternalInformationMode) UnmarshalJSON

func (v *ExternalInformationMode) UnmarshalJSON(data []byte) error

type FieldMask

type FieldMask = string

FieldMask `FieldMask` represents a set of symbolic field paths, for example:

    paths: "f.a"
    paths: "f.b.d"

Here `f` represents a field in some root message, `a` and `b`
fields in the message found in `f`, and `d` a field found in the
message in `f.b`.

Field masks are used to specify a subset of fields that should be
returned by a get operation or modified by an update operation.
Field masks also have a custom JSON encoding (see below).

# Field Masks in Projections

When used in the context of a projection, a response message or
sub-message is filtered by the API to only contain those fields as
specified in the mask. For example, if the mask in the previous
example is applied to a response message as follows:

    f {
      a : 22
      b {
        d : 1
        x : 2
      }
      y : 13
    }
    z: 8

The result will not contain specific values for fields x,y and z
(their value will be set to the default, and omitted in proto text
output):

    f {
      a : 22
      b {
        d : 1
      }
    }

A repeated field is not allowed except at the last position of a
paths string.

If a FieldMask object is not present in a get operation, the
operation applies to all fields (as if a FieldMask of all fields
had been specified).

Note that a field mask does not necessarily apply to the
top-level response message. In case of a REST get operation, the
field mask applies directly to the response, but in case of a REST
list operation, the mask instead applies to each individual message
in the returned resource list. In case of a REST custom method,
other definitions may be used. Where the mask applies will be
clearly documented together with its declaration in the API.  In
any case, the effect on the returned resource/resources is required
behavior for APIs.

# Field Masks in Update Operations

A field mask in update operations specifies which fields of the
targeted resource are going to be updated. The API is required
to only change the values of the fields as specified in the mask
and leave the others untouched. If a resource is passed in to
describe the updated values, the API ignores the values of all
fields not covered by the mask.

If a repeated field is specified for an update operation, new values will
be appended to the existing repeated field in the target resource. Note that
a repeated field is only allowed in the last position of a `paths` string.

If a sub-message is specified in the last position of the field mask for an
update operation, then new value will be merged into the existing sub-message
in the target resource.

For example, given the target message:

    f {
      b {
        d: 1
        x: 2
      }
      c: [1]
    }

And an update message:

    f {
      b {
        d: 10
      }
      c: [2]
    }

then if the field mask is:

 paths: ["f.b", "f.c"]

then the result will be:

    f {
      b {
        d: 10
        x: 2
      }
      c: [1, 2]
    }

An implementation may provide options to override this default behavior for
repeated and message fields.

Note that libraries which implement FieldMask resolution have various
different behaviors in the face of empty masks or the special "*" mask.
When implementing a service you should confirm these cases have the
appropriate behavior in the underlying FieldMask library that you desire,
and you may need to special case those cases in your application code if
the underlying field mask library behavior differs from your intended
service semantics.

Update methods implementing https://google.aip.dev/134
- MUST support the special value * meaning "full replace"
- MUST treat an omitted field mask as "replace fields which are present".

Other methods implementing https://google.aip.dev/157
- SHOULD support the special value "*" to mean "get all".
- MUST treat an omitted field mask to mean "get all", unless otherwise
documented.

## Considerations for HTTP REST

The HTTP kind of an update operation which uses a field mask must
be set to PATCH instead of PUT in order to satisfy HTTP semantics
(PUT must only be used for full updates).

# JSON Encoding of Field Masks

In JSON, a field mask is encoded as a single string where paths are
separated by a comma. Fields name in each path are converted
to/from lower-camel naming conventions.

As an example, consider the following message declarations:

    message Profile {
      User user = 1;
      Photo photo = 2;
    }
    message User {
      string display_name = 1;
      string address = 2;
    }

In proto a field mask for `Profile` may look as such:

    mask {
      paths: "user.display_name"
      paths: "photo"
    }

In JSON, the same mask is represented as below:

    {
      mask: "user.displayName,photo"
    }

# Field Masks and Oneof Fields

Field masks treat fields in oneofs just as regular fields. Consider the
following message:

    message SampleMessage {
      oneof test_oneof {
        string name = 4;
        SubMessage sub_message = 9;
      }
    }

The field mask can be:

    mask {
      paths: "name"
    }

Or:

    mask {
      paths: "sub_message"
    }

Note that oneof type names ("test_oneof" in this case) cannot be used in
paths.

## Field Mask Verification

The implementation of any API method which has a FieldMask type field in the
request should verify the included field paths, and return an
`INVALID_ARGUMENT` error if any path is unmappable.

type GenerateScriptRequest

type GenerateScriptRequest struct {
	// ArticleId 从已有文章派生脚本,与 topic 二选一。
	//  指定后 LLM 会基于文章内容改编为视频脚本。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// Language 输出语言,BCP 47 格式。
	Language runtime.Optional[string] `json:"language"`
	// ProjectId 所属项目 ID。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// Requirements 补充要求,例如 "面向初学者"、"突出产品优势"。
	Requirements runtime.Optional[string] `json:"requirements"`
	// Style 视频风格,决定脚本的结构和节奏。
	Style runtime.Optional[VideoStyle] `json:"style"`
	// TargetDurationSeconds 目标视频时长(秒),LLM 会据此控制脚本篇幅。
	TargetDurationSeconds runtime.Optional[int64] `json:"target_duration_seconds"`
	// Topic 视频主题,与 article_id 二选一。
	Topic runtime.Optional[string] `json:"topic"`
}

GenerateScriptRequest GenerateScriptRequest 基于主题或已有文章,调用 LLM 生成视频脚本。

func (GenerateScriptRequest) MarshalJSON

func (v GenerateScriptRequest) MarshalJSON() ([]byte, error)

func (*GenerateScriptRequest) UnmarshalJSON

func (v *GenerateScriptRequest) UnmarshalJSON(data []byte) error

type GenerateScriptResponse

type GenerateScriptResponse struct {
	// Done 是否生成完毕。
	Done runtime.Optional[bool] `json:"done"`
	// Event 流式事件,携带内容片段、状态更新、Token 用量或错误信息。
	Event runtime.Optional[StreamEvent] `json:"event"`
	// Task 完整的视频任务实体,仅在 done=true 时填充。
	Task runtime.Optional[*VideoTask] `json:"task"`
}

GenerateScriptResponse GenerateScriptResponse 是 GenerateScript 的流式响应。

func (GenerateScriptResponse) MarshalJSON

func (v GenerateScriptResponse) MarshalJSON() ([]byte, error)

func (*GenerateScriptResponse) UnmarshalJSON

func (v *GenerateScriptResponse) UnmarshalJSON(data []byte) error

type GenerateUploadUrlRequest

type GenerateUploadUrlRequest struct {
	// ContentType MIME 类型。
	ContentType runtime.Optional[string] `json:"content_type"`
	// Filename 原始文件名。
	Filename runtime.Optional[string] `json:"filename"`
	// ProjectId 所属项目 ID。
	ProjectId runtime.Optional[string] `json:"project_id"`
}

GenerateUploadUrlRequest GenerateUploadUrlRequest 为大文件生成预签名上传 URL。

客户端获取 URL 后,直接向对象存储(OSS/S3)上传文件,
上传完成后调用 ConfirmUpload 确认,服务端再提取文件元信息。

func (GenerateUploadUrlRequest) MarshalJSON

func (v GenerateUploadUrlRequest) MarshalJSON() ([]byte, error)

func (*GenerateUploadUrlRequest) UnmarshalJSON

func (v *GenerateUploadUrlRequest) UnmarshalJSON(data []byte) error

type GenerateUploadUrlResponse

type GenerateUploadUrlResponse struct {
	// AssetId 预分配的素材 ID,后续 ConfirmUpload 使用。
	AssetId runtime.Optional[string] `json:"asset_id"`
	// ExpiresAt 预签名 URL 过期时间,通常为 30 分钟。
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	// UploadUrl 预签名上传 URL,客户端使用 HTTP PUT 上传文件。
	UploadUrl runtime.Optional[string] `json:"upload_url"`
}

func (GenerateUploadUrlResponse) MarshalJSON

func (v GenerateUploadUrlResponse) MarshalJSON() ([]byte, error)

func (*GenerateUploadUrlResponse) UnmarshalJSON

func (v *GenerateUploadUrlResponse) UnmarshalJSON(data []byte) error

type GenerationEstimate

type GenerationEstimate struct {
	// AuthorizedMaxCredit Required. Maximum permitted user net charge for this operation.
	AuthorizedMaxCredit string `json:"authorized_max_credit"`
	// BalanceSufficient Required. Whether the balance covers authorized_max_credit.
	BalanceSufficient bool `json:"balance_sufficient"`
	// BaseBriefRevisionId (OPTIONAL) Conditional. Present when a successful version brief is the selected baseline.
	BaseBriefRevisionId runtime.Optional[string] `json:"base_brief_revision_id"`
	// BaseJobId (OPTIONAL) Conditional. REGENERATE_PAGE baseline job when required by the selected branch.
	BaseJobId runtime.Optional[string] `json:"base_job_id"`
	// BasePageContentRevision (OPTIONAL) Conditional. Required for REGENERATE_PAGE or RETRY_JOB.
	BasePageContentRevision runtime.Optional[string] `json:"base_page_content_revision"`
	// BaseVersionId (OPTIONAL) Conditional. Present when the target page has a current version.
	BaseVersionId runtime.Optional[string] `json:"base_version_id"`
	// CategoryPreferenceSnapshot Required. Immutable preference snapshot used by the resulting job.
	CategoryPreferenceSnapshot *CategoryPreferenceSnapshot `json:"category_preference_snapshot"`
	// ConsumedJobId (OPTIONAL) Conditional. Present when CONSUMED and identifies the unique logical job.
	ConsumedJobId runtime.Optional[string] `json:"consumed_job_id"`
	// CreatedAt Required. Durable estimate creation time.
	CreatedAt Timestamp `json:"created_at"`
	// CurrentBalanceCredit Required. Wallet balance snapshot at estimate creation.
	CurrentBalanceCredit string `json:"current_balance_credit"`
	// EstimateId Required. Opaque estimate identifier.
	EstimateId string `json:"estimate_id"`
	// EstimatedAiCredit Required. Estimated AI credits for the complete logical job.
	EstimatedAiCredit string `json:"estimated_ai_credit"`
	// EstimatedFileCredit Required. Estimated file-service credits.
	EstimatedFileCredit string `json:"estimated_file_credit"`
	// EstimatedToolCredit Required. Future-reserved tool estimate; zero in the current release.
	EstimatedToolCredit string `json:"estimated_tool_credit"`
	// EstimatedTotalCredit Required. Sum of all public estimated components.
	EstimatedTotalCredit string `json:"estimated_total_credit"`
	// ExpiresAt Required. Time after which a new estimate is required.
	ExpiresAt Timestamp `json:"expires_at"`
	// InputFingerprint Required. SHA-256 of the complete frozen input and authorization snapshot.
	InputFingerprint string `json:"input_fingerprint"`
	// Operation Required. Generation operation authorized by this estimate.
	Operation GenerationOperation `json:"operation"`
	// PageId (OPTIONAL) Conditional. Required for regeneration or retry of an existing page.
	PageId runtime.Optional[string] `json:"page_id"`
	// PricingVersion Required. Public pricing contract version.
	PricingVersion string `json:"pricing_version"`
	// SourceJobId (OPTIONAL) Conditional. Required for RETRY_JOB and absent for other operations.
	SourceJobId runtime.Optional[string] `json:"source_job_id"`
	// State Required. Current estimate lifecycle state.
	State EstimateState `json:"state"`
	// ToolPolicySnapshot Required. Immutable, server-selected tool policy snapshot.
	ToolPolicySnapshot *ToolPolicySnapshot `json:"tool_policy_snapshot"`
}

GenerationEstimate GenerationEstimate is a durable, short-lived snapshot that authorizes one

generation job with exactly the frozen input and maximum exposure shown.

func (GenerationEstimate) MarshalJSON

func (v GenerationEstimate) MarshalJSON() ([]byte, error)

func (*GenerationEstimate) UnmarshalJSON

func (v *GenerationEstimate) UnmarshalJSON(data []byte) error

type GenerationOperation

type GenerationOperation string

GenerationOperation GenerationOperation identifies the user-visible generation operation.

const (
	GenerationOperationGENERATIONOPERATIONUNSPECIFIED    GenerationOperation = "GENERATION_OPERATION_UNSPECIFIED"
	GenerationOperationGENERATIONOPERATIONCREATEPAGE     GenerationOperation = "GENERATION_OPERATION_CREATE_PAGE"
	GenerationOperationGENERATIONOPERATIONREGENERATEPAGE GenerationOperation = "GENERATION_OPERATION_REGENERATE_PAGE"
	GenerationOperationGENERATIONOPERATIONRETRYJOB       GenerationOperation = "GENERATION_OPERATION_RETRY_JOB"
)

func (GenerationOperation) MarshalJSON

func (v GenerationOperation) MarshalJSON() ([]byte, error)

func (*GenerationOperation) UnmarshalJSON

func (v *GenerationOperation) UnmarshalJSON(data []byte) error

type GenerationPlanStatus

type GenerationPlanStatus string

GenerationPlanStatus GenerationPlanStatus is the safe, derived status of the active plan.

const (
	GenerationPlanStatusGENERATIONPLANSTATUSUNSPECIFIED GenerationPlanStatus = "GENERATION_PLAN_STATUS_UNSPECIFIED"
	GenerationPlanStatusGENERATIONPLANSTATUSEXECUTING   GenerationPlanStatus = "GENERATION_PLAN_STATUS_EXECUTING"
	GenerationPlanStatusGENERATIONPLANSTATUSREVIEWING   GenerationPlanStatus = "GENERATION_PLAN_STATUS_REVIEWING"
	GenerationPlanStatusGENERATIONPLANSTATUSCOMPLETED   GenerationPlanStatus = "GENERATION_PLAN_STATUS_COMPLETED"
	GenerationPlanStatusGENERATIONPLANSTATUSFAILED      GenerationPlanStatus = "GENERATION_PLAN_STATUS_FAILED"
)

func (GenerationPlanStatus) MarshalJSON

func (v GenerationPlanStatus) MarshalJSON() ([]byte, error)

func (*GenerationPlanStatus) UnmarshalJSON

func (v *GenerationPlanStatus) UnmarshalJSON(data []byte) error

type GenerationPlanStepKind

type GenerationPlanStepKind string

GenerationPlanStepKind GenerationPlanStepKind is the closed set of structured plan step kinds.

WEB_RESEARCH is future-reserved and is rejected in the current release.
const (
	GenerationPlanStepKindGENERATIONPLANSTEPKINDUNSPECIFIED GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_UNSPECIFIED"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDUNDERSTAND  GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_UNDERSTAND"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDSYNTHESIZE  GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_SYNTHESIZE"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDPAGESPEC    GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_PAGE_SPEC"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDCOMPILE     GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_COMPILE"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDRENDER      GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_RENDER"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDVALIDATE    GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_VALIDATE"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDREVIEW      GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_REVIEW"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDREPAIR      GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_REPAIR"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDFINALIZE    GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_FINALIZE"
	GenerationPlanStepKindGENERATIONPLANSTEPKINDWEBRESEARCH GenerationPlanStepKind = "GENERATION_PLAN_STEP_KIND_WEB_RESEARCH"
)

func (GenerationPlanStepKind) MarshalJSON

func (v GenerationPlanStepKind) MarshalJSON() ([]byte, error)

func (*GenerationPlanStepKind) UnmarshalJSON

func (v *GenerationPlanStepKind) UnmarshalJSON(data []byte) error

type GenerationPlanStepStatus

type GenerationPlanStepStatus string

GenerationPlanStepStatus GenerationPlanStepStatus is the safe, derived status of a plan step.

const (
	GenerationPlanStepStatusGENERATIONPLANSTEPSTATUSUNSPECIFIED GenerationPlanStepStatus = "GENERATION_PLAN_STEP_STATUS_UNSPECIFIED"
	GenerationPlanStepStatusGENERATIONPLANSTEPSTATUSPENDING     GenerationPlanStepStatus = "GENERATION_PLAN_STEP_STATUS_PENDING"
	GenerationPlanStepStatusGENERATIONPLANSTEPSTATUSRUNNING     GenerationPlanStepStatus = "GENERATION_PLAN_STEP_STATUS_RUNNING"
	GenerationPlanStepStatusGENERATIONPLANSTEPSTATUSSUCCEEDED   GenerationPlanStepStatus = "GENERATION_PLAN_STEP_STATUS_SUCCEEDED"
	GenerationPlanStepStatusGENERATIONPLANSTEPSTATUSSKIPPED     GenerationPlanStepStatus = "GENERATION_PLAN_STEP_STATUS_SKIPPED"
	GenerationPlanStepStatusGENERATIONPLANSTEPSTATUSFAILED      GenerationPlanStepStatus = "GENERATION_PLAN_STEP_STATUS_FAILED"
)

func (GenerationPlanStepStatus) MarshalJSON

func (v GenerationPlanStepStatus) MarshalJSON() ([]byte, error)

func (*GenerationPlanStepStatus) UnmarshalJSON

func (v *GenerationPlanStepStatus) UnmarshalJSON(data []byte) error

type GenerationPlanStepSummary

type GenerationPlanStepSummary struct {
	// Kind Required. Closed step kind; WEB_RESEARCH is future-reserved and disabled.
	Kind GenerationPlanStepKind `json:"kind"`
	// SequenceNumber Required. Stable one-based order within the current plan revision.
	SequenceNumber int64 `json:"sequence_number"`
	// Status Required. Safe status derived from the durable step checkpoint.
	Status GenerationPlanStepStatus `json:"status"`
	// Summary Required. User-understandable goal or result summary, at most 200 characters.
	Summary string `json:"summary"`
}

GenerationPlanStepSummary GenerationPlanStepSummary is a safe, user-facing projection of one durable

plan step. It excludes prompts, private reasoning, search queries, raw tool
parameters and results, provider errors, and content-bearing checkpoints.

func (GenerationPlanStepSummary) MarshalJSON

func (v GenerationPlanStepSummary) MarshalJSON() ([]byte, error)

func (*GenerationPlanStepSummary) UnmarshalJSON

func (v *GenerationPlanStepSummary) UnmarshalJSON(data []byte) error

type GenerationPlanSummary

type GenerationPlanSummary struct {
	// ExternalSourceCount Required. Future-reserved projection; zero in the current release.
	ExternalSourceCount int64 `json:"external_source_count"`
	// PlanId Required. Opaque plan identifier used only for observation within this job.
	PlanId string `json:"plan_id"`
	// ReplanCount Required. Number of replacement revisions already committed.
	ReplanCount int64 `json:"replan_count"`
	// Revision Required. Immutable plan revision, starting at one.
	Revision int64 `json:"revision"`
	// Status Required. Safe, derived current plan status.
	Status GenerationPlanStatus `json:"status"`
	// Steps Required. Ordered safe steps for the current revision; at least one.
	Steps []*GenerationPlanStepSummary `json:"steps"`
	// UpdatedAt Required. Time the current plan checkpoint last changed.
	UpdatedAt Timestamp `json:"updated_at"`
	// WebSearchUsed Required. Future-reserved projection; false in the current release.
	WebSearchUsed bool `json:"web_search_used"`
}

GenerationPlanSummary GenerationPlanSummary is a safe projection of the active durable generation

plan revision, not an editable resource or a chain-of-thought transcript.

func (GenerationPlanSummary) MarshalJSON

func (v GenerationPlanSummary) MarshalJSON() ([]byte, error)

func (*GenerationPlanSummary) UnmarshalJSON

func (v *GenerationPlanSummary) UnmarshalJSON(data []byte) error

type GenerationProgressEvent

type GenerationProgressEvent struct {
	// DurationMs (OPTIONAL) Optional. duration ms.
	DurationMs runtime.Optional[string] `json:"duration_ms"`
	// EventId Required. event id.
	EventId string `json:"event_id"`
	// EventSeq Required. event seq.
	EventSeq string `json:"event_seq"`
	// Message Required. message.
	Message *ProgressMessage `json:"message"`
	// OccurredAt Required. occurred at.
	OccurredAt Timestamp `json:"occurred_at"`
	// RecordedAt Required. recorded at.
	RecordedAt Timestamp `json:"recorded_at"`
	// Status Required. status.
	Status string `json:"status"`
	// StepId Required. step id.
	StepId string `json:"step_id"`
}

func (GenerationProgressEvent) MarshalJSON

func (v GenerationProgressEvent) MarshalJSON() ([]byte, error)

func (*GenerationProgressEvent) UnmarshalJSON

func (v *GenerationProgressEvent) UnmarshalJSON(data []byte) error

type GenerationProgressStep

type GenerationProgressStep struct {
	// CompletedAt (OPTIONAL) Optional. completed at.
	CompletedAt runtime.Optional[Timestamp] `json:"completed_at"`
	// FailedAt (OPTIONAL) Optional. failed at.
	FailedAt runtime.Optional[Timestamp] `json:"failed_at"`
	// Message Required. message.
	Message *ProgressMessage `json:"message"`
	// ResumeStartedAt (OPTIONAL) Optional. resume started at.
	ResumeStartedAt runtime.Optional[Timestamp] `json:"resume_started_at"`
	// StartedAt (OPTIONAL) Optional. started at.
	StartedAt runtime.Optional[Timestamp] `json:"started_at"`
	// Status Required. status.
	Status string `json:"status"`
	// StepId Required. step id.
	StepId string `json:"step_id"`
}

func (GenerationProgressStep) MarshalJSON

func (v GenerationProgressStep) MarshalJSON() ([]byte, error)

func (*GenerationProgressStep) UnmarshalJSON

func (v *GenerationProgressStep) UnmarshalJSON(data []byte) error

type GetApplicationRequest

type GetApplicationRequest struct {
	AppId runtime.Optional[string] `json:"app_id"`
}

func (GetApplicationRequest) MarshalJSON

func (v GetApplicationRequest) MarshalJSON() ([]byte, error)

func (*GetApplicationRequest) UnmarshalJSON

func (v *GetApplicationRequest) UnmarshalJSON(data []byte) error

type GetApplicationResponse

type GetApplicationResponse struct {
	// Application OAuthApplication represents a registered third-party application.
	//
	//  Display fields (`app_name`, `description`, `homepage_url`, `logo_url`)
	//  on this message are deprecated; the developer center is the
	//  authoritative source for application display metadata. The fields
	//  remain populated on read for backward compatibility and will be
	//  removed in a future major version.
	Application runtime.Optional[*OAuthApplication] `json:"application"`
}

func (GetApplicationResponse) MarshalJSON

func (v GetApplicationResponse) MarshalJSON() ([]byte, error)

func (*GetApplicationResponse) UnmarshalJSON

func (v *GetApplicationResponse) UnmarshalJSON(data []byte) error

type GetArticleRequest

type GetArticleRequest struct {
	ArticleId runtime.Optional[string] `json:"article_id"`
}

func (GetArticleRequest) MarshalJSON

func (v GetArticleRequest) MarshalJSON() ([]byte, error)

func (*GetArticleRequest) UnmarshalJSON

func (v *GetArticleRequest) UnmarshalJSON(data []byte) error

type GetArticleResponse

type GetArticleResponse struct {
	// Article Article represents a piece of text content (article, post, etc.).
	//  Article 是图文创作的核心实体,同一篇文章可能同时存在 Markdown 和 HTML 两个版本。
	Article runtime.Optional[*Article] `json:"article"`
}

func (GetArticleResponse) MarshalJSON

func (v GetArticleResponse) MarshalJSON() ([]byte, error)

func (*GetArticleResponse) UnmarshalJSON

func (v *GetArticleResponse) UnmarshalJSON(data []byte) error

type GetAssetRequest

type GetAssetRequest struct {
	AssetId runtime.Optional[string] `json:"asset_id"`
}

func (GetAssetRequest) MarshalJSON

func (v GetAssetRequest) MarshalJSON() ([]byte, error)

func (*GetAssetRequest) UnmarshalJSON

func (v *GetAssetRequest) UnmarshalJSON(data []byte) error

type GetAssetResponse

type GetAssetResponse struct {
	// Asset Asset represents an uploaded media resource.
	//  素材可被文章引用、视频合成使用,生命周期跟随所属项目。
	Asset runtime.Optional[*Asset] `json:"asset"`
}

func (GetAssetResponse) MarshalJSON

func (v GetAssetResponse) MarshalJSON() ([]byte, error)

func (*GetAssetResponse) UnmarshalJSON

func (v *GetAssetResponse) UnmarshalJSON(data []byte) error

type GetAvatarRequest

type GetAvatarRequest = any

type GetAvatarResponse

type GetAvatarResponse struct {
	// AvatarUrl Pre-signed URL for the 1024×1024 WebP primary variant.
	AvatarUrl runtime.Optional[string] `json:"avatar_url"`
	// ExpiresAt Common expiration for avatar_url and all variant_urls.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	// MediaId Opaque platform.Media id (prefix `med`).
	MediaId runtime.Optional[string] `json:"media_id"`
	// VariantUrls Variant key -> pre-signed URL for smaller renditions.
	VariantUrls runtime.Optional[map[string]string] `json:"variant_urls"`
}

func (GetAvatarResponse) MarshalJSON

func (v GetAvatarResponse) MarshalJSON() ([]byte, error)

func (*GetAvatarResponse) UnmarshalJSON

func (v *GetAvatarResponse) UnmarshalJSON(data []byte) error

type GetAvatarResponseVariantUrlsEntry

type GetAvatarResponseVariantUrlsEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (GetAvatarResponseVariantUrlsEntry) MarshalJSON

func (v GetAvatarResponseVariantUrlsEntry) MarshalJSON() ([]byte, error)

func (*GetAvatarResponseVariantUrlsEntry) UnmarshalJSON

func (v *GetAvatarResponseVariantUrlsEntry) UnmarshalJSON(data []byte) error

type GetAvatarRetirementRequest

type GetAvatarRetirementRequest struct {
	MediaId     runtime.Optional[string] `json:"media_id"`
	OperationId runtime.Optional[string] `json:"operation_id"`
}

GetAvatarRetirementRequest Resolve unknown results by querying the same media_id AND operation_id.

No claimed record: NOT_FOUND / AVATAR_RETIREMENT_NOT_FOUND. A mismatched
operation is ABORTED; callers must never adopt another operation's fence.

func (GetAvatarRetirementRequest) MarshalJSON

func (v GetAvatarRetirementRequest) MarshalJSON() ([]byte, error)

func (*GetAvatarRetirementRequest) UnmarshalJSON

func (v *GetAvatarRetirementRequest) UnmarshalJSON(data []byte) error

type GetAvatarRetirementResponse

type GetAvatarRetirementResponse struct {
	Retirement runtime.Optional[*AvatarRetirement] `json:"retirement"`
}

func (GetAvatarRetirementResponse) MarshalJSON

func (v GetAvatarRetirementResponse) MarshalJSON() ([]byte, error)

func (*GetAvatarRetirementResponse) UnmarshalJSON

func (v *GetAvatarRetirementResponse) UnmarshalJSON(data []byte) error

type GetCategoryOrganizationJobRequest

type GetCategoryOrganizationJobRequest struct {
	// OrganizationJobId Required. Opaque user-requested organization job identifier.
	OrganizationJobId string `json:"organization_job_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (GetCategoryOrganizationJobRequest) MarshalJSON

func (v GetCategoryOrganizationJobRequest) MarshalJSON() ([]byte, error)

func (*GetCategoryOrganizationJobRequest) UnmarshalJSON

func (v *GetCategoryOrganizationJobRequest) UnmarshalJSON(data []byte) error

type GetCategoryOrganizationJobResponse

type GetCategoryOrganizationJobResponse struct {
	// OrganizationJob Required. Current durable organization job fact.
	OrganizationJob *CategoryOrganizationJob `json:"organization_job"`
}

func (GetCategoryOrganizationJobResponse) MarshalJSON

func (v GetCategoryOrganizationJobResponse) MarshalJSON() ([]byte, error)

func (*GetCategoryOrganizationJobResponse) UnmarshalJSON

func (v *GetCategoryOrganizationJobResponse) UnmarshalJSON(data []byte) error

type GetCategoryOrganizationPreviewRequest

type GetCategoryOrganizationPreviewRequest struct {
	// OrganizationJobId Required. Successful organization job identifier.
	OrganizationJobId string `json:"organization_job_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (GetCategoryOrganizationPreviewRequest) MarshalJSON

func (v GetCategoryOrganizationPreviewRequest) MarshalJSON() ([]byte, error)

func (*GetCategoryOrganizationPreviewRequest) UnmarshalJSON

func (v *GetCategoryOrganizationPreviewRequest) UnmarshalJSON(data []byte) error

type GetCategoryOrganizationPreviewResponse

type GetCategoryOrganizationPreviewResponse struct {
	// Preview Required. Durable settled organization preview.
	Preview *CategoryOrganizationPreview `json:"preview"`
}

func (GetCategoryOrganizationPreviewResponse) MarshalJSON

func (v GetCategoryOrganizationPreviewResponse) MarshalJSON() ([]byte, error)

func (*GetCategoryOrganizationPreviewResponse) UnmarshalJSON

func (v *GetCategoryOrganizationPreviewResponse) UnmarshalJSON(data []byte) error

type GetCategoryPreferenceRequest

type GetCategoryPreferenceRequest struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (GetCategoryPreferenceRequest) MarshalJSON

func (v GetCategoryPreferenceRequest) MarshalJSON() ([]byte, error)

func (*GetCategoryPreferenceRequest) UnmarshalJSON

func (v *GetCategoryPreferenceRequest) UnmarshalJSON(data []byte) error

type GetCategoryPreferenceResponse

type GetCategoryPreferenceResponse struct {
	// CategoryPreference Required. Current singleton, including an explicit empty rule set.
	CategoryPreference *CategoryPreference `json:"category_preference"`
}

func (GetCategoryPreferenceResponse) MarshalJSON

func (v GetCategoryPreferenceResponse) MarshalJSON() ([]byte, error)

func (*GetCategoryPreferenceResponse) UnmarshalJSON

func (v *GetCategoryPreferenceResponse) UnmarshalJSON(data []byte) error

type GetConsentInfoRequest

type GetConsentInfoRequest struct {
	ClientId runtime.Optional[string] `json:"client_id"`
	// Scope Space-delimited requested scopes
	Scope runtime.Optional[string] `json:"scope"`
}

func (GetConsentInfoRequest) MarshalJSON

func (v GetConsentInfoRequest) MarshalJSON() ([]byte, error)

func (*GetConsentInfoRequest) UnmarshalJSON

func (v *GetConsentInfoRequest) UnmarshalJSON(data []byte) error

type GetConsentInfoResponse

type GetConsentInfoResponse struct {
	AppName     runtime.Optional[string] `json:"app_name"`
	HomepageUrl runtime.Optional[string] `json:"homepage_url"`
	LogoUrl     runtime.Optional[string] `json:"logo_url"`
	// PreviouslyGrantedScopes Scopes already authorized
	PreviouslyGrantedScopes runtime.Optional[[]string]       `json:"previously_granted_scopes"`
	RequestedScopes         runtime.Optional[[]*ScopeDetail] `json:"requested_scopes"`
}

func (GetConsentInfoResponse) MarshalJSON

func (v GetConsentInfoResponse) MarshalJSON() ([]byte, error)

func (*GetConsentInfoResponse) UnmarshalJSON

func (v *GetConsentInfoResponse) UnmarshalJSON(data []byte) error

type GetGenerationProgressRequest

type GetGenerationProgressRequest struct {
	// AfterEventSeq (OPTIONAL) Optional. after event seq.
	AfterEventSeq runtime.Optional[string] `json:"after_event_seq"`
	// JobId Required. job id.
	JobId string `json:"job_id"`
	// PageSize (OPTIONAL) Optional. page size.
	PageSize runtime.Optional[int64] `json:"page_size"`
	// PageToken (OPTIONAL) Optional. page token.
	PageToken runtime.Optional[string] `json:"page_token"`
	// UiLocale (OPTIONAL) Optional. ui locale.
	UiLocale runtime.Optional[string] `json:"ui_locale"`
	// UserId Required. user id.
	UserId string `json:"user_id"`
}

GetGenerationProgressRequest History is append-only and paged under a fixed upper sequence. Current

state remains live on later pages; merge it by current_revision.

func (GetGenerationProgressRequest) MarshalJSON

func (v GetGenerationProgressRequest) MarshalJSON() ([]byte, error)

func (*GetGenerationProgressRequest) UnmarshalJSON

func (v *GetGenerationProgressRequest) UnmarshalJSON(data []byte) error

type GetGenerationProgressResponse

type GetGenerationProgressResponse struct {
	// ContentLocale (OPTIONAL) Optional. content locale.
	ContentLocale runtime.Optional[string] `json:"content_locale"`
	// ContentLocaleDisplayName (OPTIONAL) Optional. Human-readable content language name(s), localized using
	//  resolved_ui_locale, never the instruction language. Empty while metadata
	//  is pending. Display only; existing locale and title fields are unchanged.
	ContentLocaleDisplayName runtime.Optional[string] `json:"content_locale_display_name"`
	// ContentLocaleSource (OPTIONAL) Optional. content locale source.
	ContentLocaleSource runtime.Optional[string] `json:"content_locale_source"`
	// ContentLocales (OPTIONAL) Optional. content locales.
	ContentLocales runtime.Optional[[]string] `json:"content_locales"`
	// CurrentRevision Required. current revision.
	CurrentRevision string `json:"current_revision"`
	// Events Required. events.
	Events []*GenerationProgressEvent `json:"events"`
	// HistoryUpperEventSeq Required. history upper event seq.
	HistoryUpperEventSeq string `json:"history_upper_event_seq"`
	// InstructionLocale (OPTIONAL) Optional. instruction locale.
	InstructionLocale runtime.Optional[string] `json:"instruction_locale"`
	// Job Required. job.
	Job *JobSummary `json:"job"`
	// LastEventSeq Required. last event seq.
	LastEventSeq string `json:"last_event_seq"`
	// LocaleSource (OPTIONAL) Optional. locale source.
	LocaleSource runtime.Optional[string] `json:"locale_source"`
	// LocaleStatus Required. locale status.
	LocaleStatus string `json:"locale_status"`
	// NextPageToken (OPTIONAL) Optional. next page token.
	NextPageToken runtime.Optional[string] `json:"next_page_token"`
	// PageTitle Required. page title.
	PageTitle string `json:"page_title"`
	// PollAfterMs (OPTIONAL) Optional. poll after ms.
	PollAfterMs runtime.Optional[int64] `json:"poll_after_ms"`
	// ProgressAvailable Required. progress available.
	ProgressAvailable bool `json:"progress_available"`
	// ResolvedUiLocale Required. resolved ui locale.
	ResolvedUiLocale string `json:"resolved_ui_locale"`
	// Steps Required. steps.
	Steps []*GenerationProgressStep `json:"steps"`
	// TitleOrigin Required. title origin.
	TitleOrigin string `json:"title_origin"`
	// TitleRevision Required. title revision.
	TitleRevision string `json:"title_revision"`
}

func (GetGenerationProgressResponse) MarshalJSON

func (v GetGenerationProgressResponse) MarshalJSON() ([]byte, error)

func (*GetGenerationProgressResponse) UnmarshalJSON

func (v *GetGenerationProgressResponse) UnmarshalJSON(data []byte) error

type GetJWKSRequest

type GetJWKSRequest = any

type GetJWKSResponse

type GetJWKSResponse struct {
	// Keys 当前所有未退役的 ID Token 签名公钥。
	//
	//  顺序约定:keys[0] 是当前活跃签发 key(最新生效),后续元素是上一代
	//  / 上上一代 key —— 它们仍保留在 JWKS 里,是为了让 rotation 期间还在
	//  "外面活着"的旧 id_token 仍可被验证(typical TTL 1h,rotation 时窗
	//  通常 24h)。客户端验签时按 JWT header 里的 kid 字段在本列表里查找
	//  匹配项,不要假定 keys[0] 就是要用的 key。
	//
	//  accounts.appforges.com BFF 在 /.well-known/jwks.json 上直接转发
	//  本 RPC 的响应(按 RFC 7517 §5 序列化为 JSON),并按 Cache-Control
	//  设置约 24h 缓存。
	Keys runtime.Optional[[]*JWK] `json:"keys"`
}

func (GetJWKSResponse) MarshalJSON

func (v GetJWKSResponse) MarshalJSON() ([]byte, error)

func (*GetJWKSResponse) UnmarshalJSON

func (v *GetJWKSResponse) UnmarshalJSON(data []byte) error

type GetJobRequest

type GetJobRequest struct {
	// JobId Required. Opaque job identifier.
	JobId string `json:"job_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (GetJobRequest) MarshalJSON

func (v GetJobRequest) MarshalJSON() ([]byte, error)

func (*GetJobRequest) UnmarshalJSON

func (v *GetJobRequest) UnmarshalJSON(data []byte) error

type GetJobResponse

type GetJobResponse struct {
	// Job Required. Current authoritative job fact.
	Job *JobSummary `json:"job"`
}

func (GetJobResponse) MarshalJSON

func (v GetJobResponse) MarshalJSON() ([]byte, error)

func (*GetJobResponse) UnmarshalJSON

func (v *GetJobResponse) UnmarshalJSON(data []byte) error

type GetLoginHistoryRequest

type GetLoginHistoryRequest struct {
	EndDate   runtime.Optional[Timestamp] `json:"end_date"`
	Page      runtime.Optional[int64]     `json:"page"`
	PageSize  runtime.Optional[int64]     `json:"page_size"`
	StartDate runtime.Optional[Timestamp] `json:"start_date"`
}

func (GetLoginHistoryRequest) MarshalJSON

func (v GetLoginHistoryRequest) MarshalJSON() ([]byte, error)

func (*GetLoginHistoryRequest) UnmarshalJSON

func (v *GetLoginHistoryRequest) UnmarshalJSON(data []byte) error

type GetLoginHistoryResponse

type GetLoginHistoryResponse struct {
	Items    runtime.Optional[[]*LoginHistoryEntry] `json:"items"`
	Page     runtime.Optional[int64]                `json:"page"`
	PageSize runtime.Optional[int64]                `json:"page_size"`
	Total    runtime.Optional[int64]                `json:"total"`
}

func (GetLoginHistoryResponse) MarshalJSON

func (v GetLoginHistoryResponse) MarshalJSON() ([]byte, error)

func (*GetLoginHistoryResponse) UnmarshalJSON

func (v *GetLoginHistoryResponse) UnmarshalJSON(data []byte) error

type GetMaterialRequest

type GetMaterialRequest struct {
	// MaterialId Required. Opaque material identifier.
	MaterialId string `json:"material_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (GetMaterialRequest) MarshalJSON

func (v GetMaterialRequest) MarshalJSON() ([]byte, error)

func (*GetMaterialRequest) UnmarshalJSON

func (v *GetMaterialRequest) UnmarshalJSON(data []byte) error

type GetMaterialResponse

type GetMaterialResponse struct {
	// Material Required. Current authoritative material fact.
	Material *Material `json:"material"`
}

func (GetMaterialResponse) MarshalJSON

func (v GetMaterialResponse) MarshalJSON() ([]byte, error)

func (*GetMaterialResponse) UnmarshalJSON

func (v *GetMaterialResponse) UnmarshalJSON(data []byte) error

type GetOAuthClientRequest

type GetOAuthClientRequest struct {
	AppId    runtime.Optional[string] `json:"app_id"`
	ClientId runtime.Optional[string] `json:"client_id"`
}

func (GetOAuthClientRequest) MarshalJSON

func (v GetOAuthClientRequest) MarshalJSON() ([]byte, error)

func (*GetOAuthClientRequest) UnmarshalJSON

func (v *GetOAuthClientRequest) UnmarshalJSON(data []byte) error

type GetOAuthClientResponse

type GetOAuthClientResponse struct {
	// Client OAuthClient is one credential atom owned by IAM. An application may own
	//  multiple clients; app_id and client_id must therefore be used together for
	//  every management operation.
	//
	//  Secret material and secret hashes are deliberately absent from this read
	//  model. Plaintext is returned exactly once by create and rotate responses.
	Client runtime.Optional[*OAuthClient] `json:"client"`
}

func (GetOAuthClientResponse) MarshalJSON

func (v GetOAuthClientResponse) MarshalJSON() ([]byte, error)

func (*GetOAuthClientResponse) UnmarshalJSON

func (v *GetOAuthClientResponse) UnmarshalJSON(data []byte) error

type GetOrganizationBySlugRequest

type GetOrganizationBySlugRequest struct {
	Slug runtime.Optional[string] `json:"slug"`
}

func (GetOrganizationBySlugRequest) MarshalJSON

func (v GetOrganizationBySlugRequest) MarshalJSON() ([]byte, error)

func (*GetOrganizationBySlugRequest) UnmarshalJSON

func (v *GetOrganizationBySlugRequest) UnmarshalJSON(data []byte) error

type GetOrganizationBySlugResponse

type GetOrganizationBySlugResponse struct {
	// Organization Organization is one of the two concrete tenant forms (the other is
	//  Workspace).
	//
	//  `org_id` is an opaque entity-id with the `org` prefix and shares the
	//  platform-wide `tenant_id` value space with workspace ids. Consumers
	//  must treat it as opaque — no parsing, no length assumptions,
	//  byte-exact case-sensitive comparison.
	Organization runtime.Optional[*Organization] `json:"organization"`
}

func (GetOrganizationBySlugResponse) MarshalJSON

func (v GetOrganizationBySlugResponse) MarshalJSON() ([]byte, error)

func (*GetOrganizationBySlugResponse) UnmarshalJSON

func (v *GetOrganizationBySlugResponse) UnmarshalJSON(data []byte) error

type GetOrganizationRequest

type GetOrganizationRequest struct {
	OrgId runtime.Optional[string] `json:"org_id"`
}

func (GetOrganizationRequest) MarshalJSON

func (v GetOrganizationRequest) MarshalJSON() ([]byte, error)

func (*GetOrganizationRequest) UnmarshalJSON

func (v *GetOrganizationRequest) UnmarshalJSON(data []byte) error

type GetOrganizationResponse

type GetOrganizationResponse struct {
	// Organization Organization is one of the two concrete tenant forms (the other is
	//  Workspace).
	//
	//  `org_id` is an opaque entity-id with the `org` prefix and shares the
	//  platform-wide `tenant_id` value space with workspace ids. Consumers
	//  must treat it as opaque — no parsing, no length assumptions,
	//  byte-exact case-sensitive comparison.
	Organization runtime.Optional[*Organization] `json:"organization"`
}

func (GetOrganizationResponse) MarshalJSON

func (v GetOrganizationResponse) MarshalJSON() ([]byte, error)

func (*GetOrganizationResponse) UnmarshalJSON

func (v *GetOrganizationResponse) UnmarshalJSON(data []byte) error

type GetPageExportRequest

type GetPageExportRequest struct {
	// ExportId Required. Persisted artifact identifier belonging to version_id.
	ExportId string `json:"export_id"`
	// PageId Required. Owning page identifier.
	PageId string `json:"page_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
	// VersionId Required. Immutable source version identifier.
	VersionId string `json:"version_id"`
}

func (GetPageExportRequest) MarshalJSON

func (v GetPageExportRequest) MarshalJSON() ([]byte, error)

func (*GetPageExportRequest) UnmarshalJSON

func (v *GetPageExportRequest) UnmarshalJSON(data []byte) error

type GetPageExportResponse

type GetPageExportResponse struct {
	// Artifact Required. Artifact metadata and freshly authorized download ticket.
	Artifact *ExportArtifact `json:"artifact"`
}

func (GetPageExportResponse) MarshalJSON

func (v GetPageExportResponse) MarshalJSON() ([]byte, error)

func (*GetPageExportResponse) UnmarshalJSON

func (v *GetPageExportResponse) UnmarshalJSON(data []byte) error

type GetPagePromptRequest

type GetPagePromptRequest struct {
	PageId string `json:"page_id"`
	// PromptRevisionId (OPTIONAL)
	PromptRevisionId runtime.Optional[string] `json:"prompt_revision_id"`
	UserId           string                   `json:"user_id"`
}

GetPagePromptRequest Empty revision selects the latest accepted requirement, even after render failure.

func (GetPagePromptRequest) MarshalJSON

func (v GetPagePromptRequest) MarshalJSON() ([]byte, error)

func (*GetPagePromptRequest) UnmarshalJSON

func (v *GetPagePromptRequest) UnmarshalJSON(data []byte) error

type GetPagePromptResponse

type GetPagePromptResponse struct {
	// CreatedAt (OPTIONAL)
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// IsCurrentVersion (OPTIONAL)
	IsCurrentVersion runtime.Optional[bool] `json:"is_current_version"`
	// JobId (OPTIONAL)
	JobId runtime.Optional[string] `json:"job_id"`
	// Markdown (OPTIONAL)
	Markdown runtime.Optional[string] `json:"markdown"`
	// ParentRevisionId (OPTIONAL)
	ParentRevisionId runtime.Optional[string] `json:"parent_revision_id"`
	// PolicyVersion (OPTIONAL)
	PolicyVersion runtime.Optional[string] `json:"policy_version"`
	// PromptRevisionId (OPTIONAL)
	PromptRevisionId runtime.Optional[string] `json:"prompt_revision_id"`
	// Sha256 (OPTIONAL)
	Sha256 runtime.Optional[string] `json:"sha256"`
}

func (GetPagePromptResponse) MarshalJSON

func (v GetPagePromptResponse) MarshalJSON() ([]byte, error)

func (*GetPagePromptResponse) UnmarshalJSON

func (v *GetPagePromptResponse) UnmarshalJSON(data []byte) error

type GetPageRequest

type GetPageRequest struct {
	// PageId Required. Opaque page identifier.
	PageId string `json:"page_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (GetPageRequest) MarshalJSON

func (v GetPageRequest) MarshalJSON() ([]byte, error)

func (*GetPageRequest) UnmarshalJSON

func (v *GetPageRequest) UnmarshalJSON(data []byte) error

type GetPageResponse

type GetPageResponse struct {
	// Page Required. Current page fact without complete version HTML.
	Page *Page `json:"page"`
}

func (GetPageResponse) MarshalJSON

func (v GetPageResponse) MarshalJSON() ([]byte, error)

func (*GetPageResponse) UnmarshalJSON

func (v *GetPageResponse) UnmarshalJSON(data []byte) error

type GetPageVersionMetadataRequest

type GetPageVersionMetadataRequest struct {
	// PageId Required. Owning page identifier.
	PageId string `json:"page_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
	// VersionId Required. Explicit published version belonging to page_id; never resolves latest.
	VersionId string `json:"version_id"`
}

func (GetPageVersionMetadataRequest) MarshalJSON

func (v GetPageVersionMetadataRequest) MarshalJSON() ([]byte, error)

func (*GetPageVersionMetadataRequest) UnmarshalJSON

func (v *GetPageVersionMetadataRequest) UnmarshalJSON(data []byte) error

type GetPageVersionMetadataResponse

type GetPageVersionMetadataResponse struct {
	// Metadata Required. Authoritative summary and artifacts, without content or storage locators.
	Metadata *PageVersionMetadata `json:"metadata"`
}

func (GetPageVersionMetadataResponse) MarshalJSON

func (v GetPageVersionMetadataResponse) MarshalJSON() ([]byte, error)

func (*GetPageVersionMetadataResponse) UnmarshalJSON

func (v *GetPageVersionMetadataResponse) UnmarshalJSON(data []byte) error

type GetPageVersionRequest

type GetPageVersionRequest struct {
	// PageId Required. Owning page identifier.
	PageId string `json:"page_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
	// VersionId Required. Version identifier that must belong to page_id.
	VersionId string `json:"version_id"`
}

func (GetPageVersionRequest) MarshalJSON

func (v GetPageVersionRequest) MarshalJSON() ([]byte, error)

func (*GetPageVersionRequest) UnmarshalJSON

func (v *GetPageVersionRequest) UnmarshalJSON(data []byte) error

type GetPageVersionResponse

type GetPageVersionResponse struct {
	// Version Required. Complete immutable published version.
	Version *PageVersion `json:"version"`
}

func (GetPageVersionResponse) MarshalJSON

func (v GetPageVersionResponse) MarshalJSON() ([]byte, error)

func (*GetPageVersionResponse) UnmarshalJSON

func (v *GetPageVersionResponse) UnmarshalJSON(data []byte) error

type GetProfileRequest

type GetProfileRequest = any

type GetProfileResponse

type GetProfileResponse struct {
	Avatar runtime.Optional[string] `json:"avatar"`
	Bio    runtime.Optional[string] `json:"bio"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// DefaultApiVersion User-level API version pin. Empty string means "no pin" — the caller
	//  follows the platform default. When set, the value is a date in
	//  "YYYY-MM-DD" form (e.g. "2026-04-01") and is validated against the
	//  platform's published API version registry on every request.
	DefaultApiVersion runtime.Optional[string] `json:"default_api_version"`
	Email             runtime.Optional[string] `json:"email"`
	EmailVerified     runtime.Optional[bool]   `json:"email_verified"`
	// HomeAddress Home address — concrete street-level address (district + building +
	//  unit + room), distinct from `location` which is a city-level locale
	//  ("Beijing" / "San Francisco, CA"). Consumed by yihu (居家医疗呼叫)
	//  as the default contact_address for home-visit service tickets; LLM
	//  does NOT prompt the elderly user to dictate this over the phone —
	//  they fill it once in account settings.
	HomeAddress   runtime.Optional[string] `json:"home_address"`
	Location      runtime.Optional[string] `json:"location"`
	Name          runtime.Optional[string] `json:"name"`
	Phone         runtime.Optional[string] `json:"phone"`
	PhoneVerified runtime.Optional[bool]   `json:"phone_verified"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
	UserId    runtime.Optional[string]    `json:"user_id"`
	Website   runtime.Optional[string]    `json:"website"`
	// WorkAddress Work address — workplace street-level address. yihu uses this as
	//  contact_address when the LLM extracts address_type == "work" from
	//  the conversation ("on my way to the office", "I'll be at work"
	//  etc.).
	WorkAddress runtime.Optional[string] `json:"work_address"`
}

func (GetProfileResponse) MarshalJSON

func (v GetProfileResponse) MarshalJSON() ([]byte, error)

func (*GetProfileResponse) UnmarshalJSON

func (v *GetProfileResponse) UnmarshalJSON(data []byte) error

type GetProjectRequest

type GetProjectRequest struct {
	ProjectId runtime.Optional[string] `json:"project_id"`
}

func (GetProjectRequest) MarshalJSON

func (v GetProjectRequest) MarshalJSON() ([]byte, error)

func (*GetProjectRequest) UnmarshalJSON

func (v *GetProjectRequest) UnmarshalJSON(data []byte) error

type GetProjectResponse

type GetProjectResponse struct {
	// Project Project groups related creative content together.
	//  Project 是创作的顶层聚合单元,一个项目包含多篇文章、多个视频任务和多个素材。
	//  典型场景:一次营销活动、一个专题系列、一期内容排期。
	Project runtime.Optional[*Project] `json:"project"`
}

func (GetProjectResponse) MarshalJSON

func (v GetProjectResponse) MarshalJSON() ([]byte, error)

func (*GetProjectResponse) UnmarshalJSON

func (v *GetProjectResponse) UnmarshalJSON(data []byte) error

type GetProjectSummaryRequest

type GetProjectSummaryRequest struct {
	ProjectId runtime.Optional[string] `json:"project_id"`
}

GetProjectSummaryRequest GetProjectSummaryRequest 获取项目概览,包含各类内容的数量统计。

适用于项目列表页展示概要信息。

func (GetProjectSummaryRequest) MarshalJSON

func (v GetProjectSummaryRequest) MarshalJSON() ([]byte, error)

func (*GetProjectSummaryRequest) UnmarshalJSON

func (v *GetProjectSummaryRequest) UnmarshalJSON(data []byte) error

type GetProjectSummaryResponse

type GetProjectSummaryResponse struct {
	// ArticleCount 项目下的文章数量。
	ArticleCount runtime.Optional[int64] `json:"article_count"`
	// AssetCount 项目下的素材数量。
	AssetCount runtime.Optional[int64] `json:"asset_count"`
	// Project 项目基本信息。
	Project runtime.Optional[*Project] `json:"project"`
	// PublishCount 项目下的发布记录数量。
	PublishCount runtime.Optional[int64] `json:"publish_count"`
	// VideoCount 项目下的视频任务数量。
	VideoCount runtime.Optional[int64] `json:"video_count"`
}

func (GetProjectSummaryResponse) MarshalJSON

func (v GetProjectSummaryResponse) MarshalJSON() ([]byte, error)

func (*GetProjectSummaryResponse) UnmarshalJSON

func (v *GetProjectSummaryResponse) UnmarshalJSON(data []byte) error

type GetPromptTemplateRequest

type GetPromptTemplateRequest struct {
	// TemplateId 模板 ID 或预设 ID。
	TemplateId runtime.Optional[string] `json:"template_id"`
}

GetPromptTemplateRequest GetPromptTemplateRequest 获取模板对应的排版提示词。

用于在 LLM 生成/转换 HTML 时提供格式化指令。

func (GetPromptTemplateRequest) MarshalJSON

func (v GetPromptTemplateRequest) MarshalJSON() ([]byte, error)

func (*GetPromptTemplateRequest) UnmarshalJSON

func (v *GetPromptTemplateRequest) UnmarshalJSON(data []byte) error

type GetPromptTemplateResponse

type GetPromptTemplateResponse struct {
	// Name 模板名称。
	Name runtime.Optional[string] `json:"name"`
	// Prompt 排版提示词文本,描述该模板的排版规则。
	Prompt runtime.Optional[string] `json:"prompt"`
	// TemplateId 模板 ID。
	TemplateId runtime.Optional[string] `json:"template_id"`
}

func (GetPromptTemplateResponse) MarshalJSON

func (v GetPromptTemplateResponse) MarshalJSON() ([]byte, error)

func (*GetPromptTemplateResponse) UnmarshalJSON

func (v *GetPromptTemplateResponse) UnmarshalJSON(data []byte) error

type GetPublishStatusRequest

type GetPublishStatusRequest struct {
	// RecordId 发布记录 ID。
	RecordId runtime.Optional[string] `json:"record_id"`
}

func (GetPublishStatusRequest) MarshalJSON

func (v GetPublishStatusRequest) MarshalJSON() ([]byte, error)

func (*GetPublishStatusRequest) UnmarshalJSON

func (v *GetPublishStatusRequest) UnmarshalJSON(data []byte) error

type GetPublishStatusResponse

type GetPublishStatusResponse struct {
	// Record PublishRecord records a single publish attempt to a platform.
	//  每次发布操作(无论成功或失败)都会产生一条记录,支持追溯和重试。
	Record runtime.Optional[*PublishRecord] `json:"record"`
}

func (GetPublishStatusResponse) MarshalJSON

func (v GetPublishStatusResponse) MarshalJSON() ([]byte, error)

func (*GetPublishStatusResponse) UnmarshalJSON

func (v *GetPublishStatusResponse) UnmarshalJSON(data []byte) error

type GetScopeRequest

type GetScopeRequest struct {
	// Name Scope name, e.g. "creative:read"
	Name runtime.Optional[string] `json:"name"`
}

func (GetScopeRequest) MarshalJSON

func (v GetScopeRequest) MarshalJSON() ([]byte, error)

func (*GetScopeRequest) UnmarshalJSON

func (v *GetScopeRequest) UnmarshalJSON(data []byte) error

type GetScopeResponse

type GetScopeResponse struct {
	// Scope Scope defines a permission boundary for OAuth access control.
	Scope runtime.Optional[*Scope] `json:"scope"`
}

func (GetScopeResponse) MarshalJSON

func (v GetScopeResponse) MarshalJSON() ([]byte, error)

func (*GetScopeResponse) UnmarshalJSON

func (v *GetScopeResponse) UnmarshalJSON(data []byte) error

type GetSecuritySettingsRequest

type GetSecuritySettingsRequest = any

type GetSecuritySettingsResponse

type GetSecuritySettingsResponse struct {
	EmailVerified runtime.Optional[bool] `json:"email_verified"`
	HasPassword   runtime.Optional[bool] `json:"has_password"`
	// PasswordChangedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	PasswordChangedAt runtime.Optional[Timestamp] `json:"password_changed_at"`
	PhoneVerified     runtime.Optional[bool]      `json:"phone_verified"`
	TwoFactorEnabled  runtime.Optional[bool]      `json:"two_factor_enabled"`
}

func (GetSecuritySettingsResponse) MarshalJSON

func (v GetSecuritySettingsResponse) MarshalJSON() ([]byte, error)

func (*GetSecuritySettingsResponse) UnmarshalJSON

func (v *GetSecuritySettingsResponse) UnmarshalJSON(data []byte) error

type GetSessionRequest

type GetSessionRequest struct {
	SessionId runtime.Optional[string] `json:"session_id"`
}

func (GetSessionRequest) MarshalJSON

func (v GetSessionRequest) MarshalJSON() ([]byte, error)

func (*GetSessionRequest) UnmarshalJSON

func (v *GetSessionRequest) UnmarshalJSON(data []byte) error

type GetSessionResponse

type GetSessionResponse struct {
	// Session SessionInfo describes an active session.
	Session runtime.Optional[*SessionInfo] `json:"session"`
}

func (GetSessionResponse) MarshalJSON

func (v GetSessionResponse) MarshalJSON() ([]byte, error)

func (*GetSessionResponse) UnmarshalJSON

func (v *GetSessionResponse) UnmarshalJSON(data []byte) error

type GetStorageProtectionRequest

type GetStorageProtectionRequest struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (GetStorageProtectionRequest) MarshalJSON

func (v GetStorageProtectionRequest) MarshalJSON() ([]byte, error)

func (*GetStorageProtectionRequest) UnmarshalJSON

func (v *GetStorageProtectionRequest) UnmarshalJSON(data []byte) error

type GetStorageProtectionResponse

type GetStorageProtectionResponse struct {
	// StorageProtection Required. Current user-scoped storage protection fact.
	StorageProtection *AccountStorageProtection `json:"storage_protection"`
}

func (GetStorageProtectionResponse) MarshalJSON

func (v GetStorageProtectionResponse) MarshalJSON() ([]byte, error)

func (*GetStorageProtectionResponse) UnmarshalJSON

func (v *GetStorageProtectionResponse) UnmarshalJSON(data []byte) error

type GetUploadRequest

type GetUploadRequest struct {
	// UploadId Required. Opaque PinPage upload identifier.
	UploadId string `json:"upload_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (GetUploadRequest) MarshalJSON

func (v GetUploadRequest) MarshalJSON() ([]byte, error)

func (*GetUploadRequest) UnmarshalJSON

func (v *GetUploadRequest) UnmarshalJSON(data []byte) error

type GetUploadResponse

type GetUploadResponse struct {
	// Material (OPTIONAL) Optional. Required when the upload completed and created a material.
	Material runtime.Optional[*Material] `json:"material"`
	// Upload Required. Current durable upload session.
	Upload *UploadSession `json:"upload"`
}

func (GetUploadResponse) MarshalJSON

func (v GetUploadResponse) MarshalJSON() ([]byte, error)

func (*GetUploadResponse) UnmarshalJSON

func (v *GetUploadResponse) UnmarshalJSON(data []byte) error

type GetVersionHintRequest

type GetVersionHintRequest struct {
	// UserId Required. The user whose pin to look up. Opaque entity-id with `usr`
	//  prefix.
	UserId runtime.Optional[string] `json:"user_id"`
}

GetVersionHintRequest Lightweight API version pin lookup. Returns the user's

default_api_version without loading the full profile (no email / phone
/ avatar etc.). Used by the platform's API-Version resolution chain.

func (GetVersionHintRequest) MarshalJSON

func (v GetVersionHintRequest) MarshalJSON() ([]byte, error)

func (*GetVersionHintRequest) UnmarshalJSON

func (v *GetVersionHintRequest) UnmarshalJSON(data []byte) error

type GetVersionHintResponse

type GetVersionHintResponse struct {
	// DefaultApiVersion Empty string when no pin is set (caller falls back to platform default).
	//  Format: "YYYY-MM-DD".
	DefaultApiVersion runtime.Optional[string] `json:"default_api_version"`
}

func (GetVersionHintResponse) MarshalJSON

func (v GetVersionHintResponse) MarshalJSON() ([]byte, error)

func (*GetVersionHintResponse) UnmarshalJSON

func (v *GetVersionHintResponse) UnmarshalJSON(data []byte) error

type GetVertexAPIKeyRequest added in v0.61.0

type GetVertexAPIKeyRequest struct {
	ApiKeyId runtime.Optional[string] `json:"api_key_id"`
}

func (GetVertexAPIKeyRequest) MarshalJSON added in v0.61.0

func (v GetVertexAPIKeyRequest) MarshalJSON() ([]byte, error)

func (*GetVertexAPIKeyRequest) UnmarshalJSON added in v0.61.0

func (v *GetVertexAPIKeyRequest) UnmarshalJSON(data []byte) error

type GetVertexAPIKeyResponse added in v0.61.0

type GetVertexAPIKeyResponse struct {
	// Key VertexAPIKey contains non-secret metadata only. Identity bindings are immutable.
	Key runtime.Optional[*VertexAPIKey] `json:"key"`
}

func (GetVertexAPIKeyResponse) MarshalJSON added in v0.61.0

func (v GetVertexAPIKeyResponse) MarshalJSON() ([]byte, error)

func (*GetVertexAPIKeyResponse) UnmarshalJSON added in v0.61.0

func (v *GetVertexAPIKeyResponse) UnmarshalJSON(data []byte) error

type GetVideoTaskRequest

type GetVideoTaskRequest struct {
	TaskId runtime.Optional[string] `json:"task_id"`
}

func (GetVideoTaskRequest) MarshalJSON

func (v GetVideoTaskRequest) MarshalJSON() ([]byte, error)

func (*GetVideoTaskRequest) UnmarshalJSON

func (v *GetVideoTaskRequest) UnmarshalJSON(data []byte) error

type GetVideoTaskResponse

type GetVideoTaskResponse struct {
	// Task VideoTask represents a video generation job.
	//  视频生成是异步任务,客户端提交后通过轮询 GetVideoTask 获取进度。
	Task runtime.Optional[*VideoTask] `json:"task"`
}

func (GetVideoTaskResponse) MarshalJSON

func (v GetVideoTaskResponse) MarshalJSON() ([]byte, error)

func (*GetVideoTaskResponse) UnmarshalJSON

func (v *GetVideoTaskResponse) UnmarshalJSON(data []byte) error

type GetWebhookRequest

type GetWebhookRequest struct {
	WebhookId runtime.Optional[string] `json:"webhook_id"`
}

func (GetWebhookRequest) MarshalJSON

func (v GetWebhookRequest) MarshalJSON() ([]byte, error)

func (*GetWebhookRequest) UnmarshalJSON

func (v *GetWebhookRequest) UnmarshalJSON(data []byte) error

type GetWebhookResponse

type GetWebhookResponse struct {
	// Webhook Webhook represents a registered webhook endpoint.
	Webhook runtime.Optional[*Webhook] `json:"webhook"`
}

func (GetWebhookResponse) MarshalJSON

func (v GetWebhookResponse) MarshalJSON() ([]byte, error)

func (*GetWebhookResponse) UnmarshalJSON

func (v *GetWebhookResponse) UnmarshalJSON(data []byte) error

type GrantType

type GrantType string

GrantType GrantType enumerates supported OAuth 2.0 grant types.

const (
	GrantTypeGRANTTYPEUNSPECIFIED       GrantType = "GRANT_TYPE_UNSPECIFIED"
	GrantTypeGRANTTYPEAUTHORIZATIONCODE GrantType = "GRANT_TYPE_AUTHORIZATION_CODE"
	GrantTypeGRANTTYPEREFRESHTOKEN      GrantType = "GRANT_TYPE_REFRESH_TOKEN"
	GrantTypeGRANTTYPECLIENTCREDENTIALS GrantType = "GRANT_TYPE_CLIENT_CREDENTIALS"
)

func (GrantType) MarshalJSON

func (v GrantType) MarshalJSON() ([]byte, error)

func (*GrantType) UnmarshalJSON

func (v *GrantType) UnmarshalJSON(data []byte) error

type IdentityType

type IdentityType string

IdentityType IdentityType identifies which kind of principal a token may carry.

const (
	IdentityTypeIDENTITYTYPEUNSPECIFIED IdentityType = "IDENTITY_TYPE_UNSPECIFIED"
	IdentityTypeIDENTITYTYPEUSER        IdentityType = "IDENTITY_TYPE_USER"
	IdentityTypeIDENTITYTYPEORG         IdentityType = "IDENTITY_TYPE_ORG"
	IdentityTypeIDENTITYTYPEWORKSPACE   IdentityType = "IDENTITY_TYPE_WORKSPACE"
)

func (IdentityType) MarshalJSON

func (v IdentityType) MarshalJSON() ([]byte, error)

func (*IdentityType) UnmarshalJSON

func (v *IdentityType) UnmarshalJSON(data []byte) error

type InlineTextChange

type InlineTextChange struct {
	// Mode Required. KEEP, REPLACE, or REMOVE.
	Mode InlineTextChangeMode `json:"mode"`
	// Text (OPTIONAL) Optional. Required and non-empty for REPLACE; forbidden otherwise.
	Text runtime.Optional[string] `json:"text"`
}

InlineTextChange InlineTextChange carries a regeneration-only inline-text delta.

func (InlineTextChange) MarshalJSON

func (v InlineTextChange) MarshalJSON() ([]byte, error)

func (*InlineTextChange) UnmarshalJSON

func (v *InlineTextChange) UnmarshalJSON(data []byte) error

type InlineTextChangeMode

type InlineTextChangeMode string

InlineTextChangeMode InlineTextChangeMode describes a typed change to baseline inline text.

const (
	InlineTextChangeModeINLINETEXTCHANGEMODEUNSPECIFIED InlineTextChangeMode = "INLINE_TEXT_CHANGE_MODE_UNSPECIFIED"
	InlineTextChangeModeINLINETEXTCHANGEMODEKEEP        InlineTextChangeMode = "INLINE_TEXT_CHANGE_MODE_KEEP"
	InlineTextChangeModeINLINETEXTCHANGEMODEREPLACE     InlineTextChangeMode = "INLINE_TEXT_CHANGE_MODE_REPLACE"
	InlineTextChangeModeINLINETEXTCHANGEMODEREMOVE      InlineTextChangeMode = "INLINE_TEXT_CHANGE_MODE_REMOVE"
)

func (InlineTextChangeMode) MarshalJSON

func (v InlineTextChangeMode) MarshalJSON() ([]byte, error)

func (*InlineTextChangeMode) UnmarshalJSON

func (v *InlineTextChangeMode) UnmarshalJSON(data []byte) error

type InstructionsListPageInstructionsParams

type InstructionsListPageInstructionsParams struct {
	PageId    string
	UserId    string
	PageSize  runtime.Optional[int64]
	PageToken runtime.Optional[string]
}

type InstructionsService

type InstructionsService struct {
	// contains filtered or unexported fields
}

func (*InstructionsService) ListPageInstructions

ListPageInstructions ListPageInstructions

Read private requirements for an owned page; never includes system prompts.

func (*InstructionsService) ListPageInstructionsAll

type IntrospectIntrospectTokenParams

type IntrospectIntrospectTokenParams struct {
	Body *IntrospectTokenRequest
}

type IntrospectService

type IntrospectService struct {
	// contains filtered or unexported fields
}

func (*IntrospectService) IntrospectToken

IntrospectToken IntrospectToken

Introspect a token to determine its validity and metadata (RFC 7662).

type IntrospectTokenRequest

type IntrospectTokenRequest struct {
	ClientId     runtime.Optional[string] `json:"client_id"`
	ClientSecret runtime.Optional[string] `json:"client_secret"`
	// IncludeProfile OIDC userinfo 优化:当 true 时,IntrospectTokenResponse.profile 会
	//  一次回带 user 的标准 OIDC claims(name / email / phone_number /
	//  picture / updated_at),让 BFF 的 /oauth2/userinfo 路由从两次 RPC
	//  变一次(先 IntrospectToken,再 UserService.GetProfile → 现在合一)。
	//  default false 保持向前兼容:旧调用方零感知,行为完全不变。
	//
	//  仅当 token active 且关联 user_id 时 profile 才会被填充;
	//  client_credentials 类无 user 的 token 即使 include_profile=true
	//  也不带 profile(保持 user_id 为空 + profile 缺省的语义一致)。
	IncludeProfile runtime.Optional[bool]   `json:"include_profile"`
	Token          runtime.Optional[string] `json:"token"`
	TokenTypeHint  runtime.Optional[string] `json:"token_type_hint"`
}

func (IntrospectTokenRequest) MarshalJSON

func (v IntrospectTokenRequest) MarshalJSON() ([]byte, error)

func (*IntrospectTokenRequest) UnmarshalJSON

func (v *IntrospectTokenRequest) UnmarshalJSON(data []byte) error

type IntrospectTokenResponse

type IntrospectTokenResponse struct {
	Active   runtime.Optional[bool]   `json:"active"`
	ClientId runtime.Optional[string] `json:"client_id"`
	// ExpiresAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	// IssuedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	IssuedAt runtime.Optional[Timestamp] `json:"issued_at"`
	// Profile 仅当请求 include_profile=true 且 token 关联 user_id 时填充。
	//  OIDC userinfo 标准 claims 子集——字段对齐 OIDC Core 1.0 §5.4。
	//
	//  平台铁律重申:本字段不是 access_token 的合法承载——客户端不要把
	//  IntrospectTokenResponse 序列化后塞进 Authorization 头。profile 仅
	//  用于 BFF 的 /oauth2/userinfo 端点直接序列化为 JSON 输出给浏览器。
	Profile   runtime.Optional[*UserProfile] `json:"profile"`
	Scope     runtime.Optional[string]       `json:"scope"`
	TokenType runtime.Optional[string]       `json:"token_type"`
	// UserId Empty for client_credentials tokens
	UserId runtime.Optional[string] `json:"user_id"`
}

func (IntrospectTokenResponse) MarshalJSON

func (v IntrospectTokenResponse) MarshalJSON() ([]byte, error)

func (*IntrospectTokenResponse) UnmarshalJSON

func (v *IntrospectTokenResponse) UnmarshalJSON(data []byte) error

type IssueInternalDelegationRequest added in v0.61.0

type IssueInternalDelegationRequest = any

IssueInternalDelegationRequest Secret-bearing request: never log, trace, cache or persist its body.

type IssueInternalDelegationResponse added in v0.61.0

type IssueInternalDelegationResponse struct {
	// Application Present only for an application proof. The signed token uses the distinct
	//  appforges-app-delegation+jwt type and application payload; old user-only
	//  verifiers must reject it. Check these fields against the verified signature,
	//  and apply the receiving route's explicit application scope/resource policy.
	Application runtime.Optional[*ApplicationDelegationPrincipal] `json:"application"`
	// Delegation Signed proof: subject, issuer, expiry, exact caller/audience/method/path
	//  grants and credential-derived bindings. Receiver must enforce bindings.
	//  Lifetime <= 5 minutes and bounded by the credential/operation expiry.
	Delegation runtime.Optional[string] `json:"delegation"`
	// ExpiresAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	// UserId Authoritative user subject; never independently trusted. Required only for
	//  user proofs. Empty for an application proof. Receivers must reject a
	//  response carrying both user_id and application, or neither.
	UserId runtime.Optional[string] `json:"user_id"`
}

func (IssueInternalDelegationResponse) MarshalJSON added in v0.61.0

func (v IssueInternalDelegationResponse) MarshalJSON() ([]byte, error)

func (*IssueInternalDelegationResponse) UnmarshalJSON added in v0.61.0

func (v *IssueInternalDelegationResponse) UnmarshalJSON(data []byte) error

type JWK

type JWK struct {
	// Alg 恒为 "RS256"
	Alg runtime.Optional[string] `json:"alg"`
	// E RSA public exponent,base64url-encoded(RFC 7518 §6.3.1.2,无 padding)。
	//  平台所有 RSA key 都用 65537,即 base64url("AQAB")。
	E runtime.Optional[string] `json:"e"`
	// Kid Key ID。JWT header 的 "kid" 字段必须与本字段精确匹配。kid 是 IAM
	//  内部生成的 opaque 标识(典型形如 "iam-2026-05-key-1"),不可解析、
	//  不可猜测。
	Kid runtime.Optional[string] `json:"kid"`
	// Kty 恒为 "RSA"
	Kty runtime.Optional[string] `json:"kty"`
	// N RSA modulus,base64url-encoded(RFC 7518 §6.3.1.1,无 padding)。
	N runtime.Optional[string] `json:"n"`
	// Use 恒为 "sig"
	Use runtime.Optional[string] `json:"use"`
}

JWK JWK (JSON Web Key, RFC 7517 §4) —— RSA 公钥子集。

平台 id_token 仅使用 RS256 签名算法,因此 kty 恒为 "RSA"、alg 恒为
"RS256"、use 恒为 "sig";这些字段保留在 message 里是为了在 JSON 序列化
后符合 RFC 7517 标准格式(让通用 JWT / JWKS 验签库能直接消费)。

私钥永远不出 IAM 内核;本 message 只承载公钥。

func (JWK) MarshalJSON

func (v JWK) MarshalJSON() ([]byte, error)

func (*JWK) UnmarshalJSON

func (v *JWK) UnmarshalJSON(data []byte) error

type JobFailure

type JobFailure struct {
	// ContentDecisionContext (OPTIONAL) Conditional. Required only for PINPAGE_CONTENT_DECISION_REQUIRED.
	ContentDecisionContext runtime.Optional[*ContentDecisionContext] `json:"content_decision_context"`
	// Message Required. Safe explanation without source content or provider details.
	Message string `json:"message"`
	// Reason Required. Stable machine-readable reason used for client branching.
	Reason string `json:"reason"`
	// RetryAfter (OPTIONAL) Optional. Server-advised delay before the next user action.
	RetryAfter runtime.Optional[Duration] `json:"retry_after"`
	// Retryable Required. Whether the user may create a manual retry.
	Retryable bool `json:"retryable"`
	// UserAction Required. Safe user action; search actions are disabled in this release.
	UserAction JobFailureUserAction `json:"user_action"`
}

JobFailure JobFailure is a safe terminal business failure projected by GetJob.

func (JobFailure) MarshalJSON

func (v JobFailure) MarshalJSON() ([]byte, error)

func (*JobFailure) UnmarshalJSON

func (v *JobFailure) UnmarshalJSON(data []byte) error

type JobFailureUserAction

type JobFailureUserAction string

JobFailureUserAction JobFailureUserAction tells the client which user action may resolve a

terminal failure. Web-search actions are future-reserved and never returned
in the current release.
const (
	JobFailureUserActionJOBFAILUREUSERACTIONUNSPECIFIED     JobFailureUserAction = "JOB_FAILURE_USER_ACTION_UNSPECIFIED"
	JobFailureUserActionJOBFAILUREUSERACTIONRETRYSAMEINPUT  JobFailureUserAction = "JOB_FAILURE_USER_ACTION_RETRY_SAME_INPUT"
	JobFailureUserActionJOBFAILUREUSERACTIONCHANGEINPUT     JobFailureUserAction = "JOB_FAILURE_USER_ACTION_CHANGE_INPUT"
	JobFailureUserActionJOBFAILUREUSERACTIONCHOOSECONTENT   JobFailureUserAction = "JOB_FAILURE_USER_ACTION_CHOOSE_CONTENT"
	JobFailureUserActionJOBFAILUREUSERACTIONRECHARGE        JobFailureUserAction = "JOB_FAILURE_USER_ACTION_RECHARGE"
	JobFailureUserActionJOBFAILUREUSERACTIONCONTACTSUPPORT  JobFailureUserAction = "JOB_FAILURE_USER_ACTION_CONTACT_SUPPORT"
	JobFailureUserActionJOBFAILUREUSERACTIONENABLEWEBSEARCH JobFailureUserAction = "JOB_FAILURE_USER_ACTION_ENABLE_WEB_SEARCH"
	JobFailureUserActionJOBFAILUREUSERACTIONREFRESHSOURCES  JobFailureUserAction = "JOB_FAILURE_USER_ACTION_REFRESH_SOURCES"
)

func (JobFailureUserAction) MarshalJSON

func (v JobFailureUserAction) MarshalJSON() ([]byte, error)

func (*JobFailureUserAction) UnmarshalJSON

func (v *JobFailureUserAction) UnmarshalJSON(data []byte) error

type JobStage

type JobStage string

JobStage JobStage is the current user-visible generation stage.

RESEARCHING is future-reserved and is never returned in the current release.
const (
	JobStageJOBSTAGEUNSPECIFIED   JobStage = "JOB_STAGE_UNSPECIFIED"
	JobStageJOBSTAGEPREFLIGHT     JobStage = "JOB_STAGE_PREFLIGHT"
	JobStageJOBSTAGEUNDERSTANDING JobStage = "JOB_STAGE_UNDERSTANDING"
	JobStageJOBSTAGEPLANNING      JobStage = "JOB_STAGE_PLANNING"
	JobStageJOBSTAGESYNTHESIZING  JobStage = "JOB_STAGE_SYNTHESIZING"
	JobStageJOBSTAGECOMPOSING     JobStage = "JOB_STAGE_COMPOSING"
	JobStageJOBSTAGERENDERING     JobStage = "JOB_STAGE_RENDERING"
	JobStageJOBSTAGEVALIDATING    JobStage = "JOB_STAGE_VALIDATING"
	JobStageJOBSTAGEREVIEWING     JobStage = "JOB_STAGE_REVIEWING"
	JobStageJOBSTAGEFINALIZING    JobStage = "JOB_STAGE_FINALIZING"
	JobStageJOBSTAGERESEARCHING   JobStage = "JOB_STAGE_RESEARCHING"
)

func (JobStage) MarshalJSON

func (v JobStage) MarshalJSON() ([]byte, error)

func (*JobStage) UnmarshalJSON

func (v *JobStage) UnmarshalJSON(data []byte) error

type JobStatus

type JobStatus string

JobStatus JobStatus is the public lifecycle of an asynchronous logical job.

const (
	JobStatusJOBSTATUSUNSPECIFIED JobStatus = "JOB_STATUS_UNSPECIFIED"
	JobStatusJOBSTATUSQUEUED      JobStatus = "JOB_STATUS_QUEUED"
	JobStatusJOBSTATUSRUNNING     JobStatus = "JOB_STATUS_RUNNING"
	JobStatusJOBSTATUSSUCCEEDED   JobStatus = "JOB_STATUS_SUCCEEDED"
	JobStatusJOBSTATUSFAILED      JobStatus = "JOB_STATUS_FAILED"
)

func (JobStatus) MarshalJSON

func (v JobStatus) MarshalJSON() ([]byte, error)

func (*JobStatus) UnmarshalJSON

func (v *JobStatus) UnmarshalJSON(data []byte) error

type JobSummary

type JobSummary struct {
	// CompletedAt (OPTIONAL) Conditional. Required in SUCCEEDED or FAILED.
	CompletedAt runtime.Optional[Timestamp] `json:"completed_at"`
	// CostSummary (OPTIONAL) Deprecated. LLM charging and quota admission are owned by Vertex and
	//  Billing; PinPage no longer projects monetary state into generation jobs.
	CostSummary runtime.Optional[*CostSummary] `json:"cost_summary"`
	// CreatedAt Required. Logical job creation time.
	CreatedAt Timestamp `json:"created_at"`
	// ExecutionPlan (OPTIONAL) Conditional. Present after the first structured plan is committed.
	ExecutionPlan runtime.Optional[*GenerationPlanSummary] `json:"execution_plan"`
	// Failure (OPTIONAL) Conditional. Required in FAILED and absent in other states.
	Failure runtime.Optional[*JobFailure] `json:"failure"`
	// JobId Required. Opaque logical job identifier.
	JobId string `json:"job_id"`
	// Operation Required. User-visible generation operation.
	Operation GenerationOperation `json:"operation"`
	// PageId Required. Opaque owning page identifier.
	PageId string `json:"page_id"`
	// ResultVersionId (OPTIONAL) Conditional. Required in SUCCEEDED and absent in other states.
	ResultVersionId runtime.Optional[string] `json:"result_version_id"`
	// SequenceNumber Required. Monotonic event sequence within this logical job.
	SequenceNumber string `json:"sequence_number"`
	// SourceJobId (OPTIONAL) Conditional. Required for RETRY_JOB and identifies the failed source job.
	SourceJobId runtime.Optional[string] `json:"source_job_id"`
	// Stage (OPTIONAL) Optional. Current visible stage while applicable; RESEARCHING is disabled.
	Stage runtime.Optional[JobStage] `json:"stage"`
	// Status Required. Current public job lifecycle.
	Status JobStatus `json:"status"`
	// UpdatedAt Required. Time the authoritative job fact last changed.
	UpdatedAt Timestamp `json:"updated_at"`
}

JobSummary JobSummary is the authoritative, user-visible fact for one logical

generation job. Broker redeliveries do not create additional resources.

func (JobSummary) MarshalJSON

func (v JobSummary) MarshalJSON() ([]byte, error)

func (*JobSummary) UnmarshalJSON

func (v *JobSummary) UnmarshalJSON(data []byte) error

type JwksService

type JwksService struct {
	// contains filtered or unexported fields
}

func (*JwksService) GetJWKS

func (s *JwksService) GetJWKS(ctx context.Context, options ...runtime.RequestOption) (*GetJWKSResponse, error)

GetJWKS 返回当前活跃的 ID Token 签名公钥列表(JWKS 格式,RFC 7517 §5)。

用于 OIDC 双 token 模型中 id_token (JWT, RS256) 的本地验签。

accounts.appforges.com BFF 把本 RPC 的响应直接转发给
/.well-known/jwks.json 端点,客户端启动时拉取一次、按 Cache-Control
缓存(典型 24h),随后用 keys[].kid 匹配 JWT header 的 kid 字段、
用对应公钥验 RS256 签名。

公开端点,无需任何 credential。资源 API 鉴权与本 RPC 无关——资源
API 仍走 access_token + IntrospectToken 路径。

type ListAPIKeysRequest

type ListAPIKeysRequest struct {
	AppId     runtime.Optional[string] `json:"app_id"`
	PageSize  runtime.Optional[int64]  `json:"page_size"`
	PageToken runtime.Optional[string] `json:"page_token"`
}

func (ListAPIKeysRequest) MarshalJSON

func (v ListAPIKeysRequest) MarshalJSON() ([]byte, error)

func (*ListAPIKeysRequest) UnmarshalJSON

func (v *ListAPIKeysRequest) UnmarshalJSON(data []byte) error

type ListAPIKeysResponse

type ListAPIKeysResponse struct {
	ApiKeys       runtime.Optional[[]*APIKey] `json:"api_keys"`
	NextPageToken runtime.Optional[string]    `json:"next_page_token"`
	TotalCount    runtime.Optional[int64]     `json:"total_count"`
}

func (ListAPIKeysResponse) MarshalJSON

func (v ListAPIKeysResponse) MarshalJSON() ([]byte, error)

func (*ListAPIKeysResponse) UnmarshalJSON

func (v *ListAPIKeysResponse) UnmarshalJSON(data []byte) error

type ListApplicationsRequest

type ListApplicationsRequest struct {
	PageSize  runtime.Optional[int64]  `json:"page_size"`
	PageToken runtime.Optional[string] `json:"page_token"`
}

func (ListApplicationsRequest) MarshalJSON

func (v ListApplicationsRequest) MarshalJSON() ([]byte, error)

func (*ListApplicationsRequest) UnmarshalJSON

func (v *ListApplicationsRequest) UnmarshalJSON(data []byte) error

type ListApplicationsResponse

type ListApplicationsResponse struct {
	Applications  runtime.Optional[[]*OAuthApplication] `json:"applications"`
	NextPageToken runtime.Optional[string]              `json:"next_page_token"`
	TotalCount    runtime.Optional[int64]               `json:"total_count"`
}

func (ListApplicationsResponse) MarshalJSON

func (v ListApplicationsResponse) MarshalJSON() ([]byte, error)

func (*ListApplicationsResponse) UnmarshalJSON

func (v *ListApplicationsResponse) UnmarshalJSON(data []byte) error

type ListArticlesRequest

type ListArticlesRequest struct {
	// Format 按内容格式过滤。
	Format runtime.Optional[ContentFormat] `json:"format"`
	// PageSize 每页返回数量,默认 20,最大 100。
	PageSize runtime.Optional[int64] `json:"page_size"`
	// PageToken 分页令牌,首次请求留空。
	PageToken runtime.Optional[string] `json:"page_token"`
	// ProjectId 按项目过滤。
	ProjectId runtime.Optional[string] `json:"project_id"`
}

func (ListArticlesRequest) MarshalJSON

func (v ListArticlesRequest) MarshalJSON() ([]byte, error)

func (*ListArticlesRequest) UnmarshalJSON

func (v *ListArticlesRequest) UnmarshalJSON(data []byte) error

type ListArticlesResponse

type ListArticlesResponse struct {
	Articles runtime.Optional[[]*Article] `json:"articles"`
	// NextPageToken 下一页令牌,为空表示没有更多数据。
	NextPageToken runtime.Optional[string] `json:"next_page_token"`
	// TotalCount 符合筛选条件的总数。
	TotalCount runtime.Optional[int64] `json:"total_count"`
}

func (ListArticlesResponse) MarshalJSON

func (v ListArticlesResponse) MarshalJSON() ([]byte, error)

func (*ListArticlesResponse) UnmarshalJSON

func (v *ListArticlesResponse) UnmarshalJSON(data []byte) error

type ListAssetsRequest

type ListAssetsRequest struct {
	// PageSize 每页返回数量,默认 20,最大 100。
	PageSize runtime.Optional[int64] `json:"page_size"`
	// PageToken 分页令牌。
	PageToken runtime.Optional[string] `json:"page_token"`
	// ProjectId 按项目过滤。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// Type 按素材类型过滤。
	Type runtime.Optional[AssetType] `json:"type"`
}

func (ListAssetsRequest) MarshalJSON

func (v ListAssetsRequest) MarshalJSON() ([]byte, error)

func (*ListAssetsRequest) UnmarshalJSON

func (v *ListAssetsRequest) UnmarshalJSON(data []byte) error

type ListAssetsResponse

type ListAssetsResponse struct {
	Assets        runtime.Optional[[]*Asset] `json:"assets"`
	NextPageToken runtime.Optional[string]   `json:"next_page_token"`
	TotalCount    runtime.Optional[int64]    `json:"total_count"`
}

func (ListAssetsResponse) MarshalJSON

func (v ListAssetsResponse) MarshalJSON() ([]byte, error)

func (*ListAssetsResponse) UnmarshalJSON

func (v *ListAssetsResponse) UnmarshalJSON(data []byte) error

type ListAuthorizedApplicationsRequest

type ListAuthorizedApplicationsRequest struct {
	PageSize  runtime.Optional[int64]  `json:"page_size"`
	PageToken runtime.Optional[string] `json:"page_token"`
}

func (ListAuthorizedApplicationsRequest) MarshalJSON

func (v ListAuthorizedApplicationsRequest) MarshalJSON() ([]byte, error)

func (*ListAuthorizedApplicationsRequest) UnmarshalJSON

func (v *ListAuthorizedApplicationsRequest) UnmarshalJSON(data []byte) error

type ListAuthorizedApplicationsResponse

type ListAuthorizedApplicationsResponse struct {
	Applications  runtime.Optional[[]*AuthorizedApplication] `json:"applications"`
	NextPageToken runtime.Optional[string]                   `json:"next_page_token"`
	TotalCount    runtime.Optional[int64]                    `json:"total_count"`
}

func (ListAuthorizedApplicationsResponse) MarshalJSON

func (v ListAuthorizedApplicationsResponse) MarshalJSON() ([]byte, error)

func (*ListAuthorizedApplicationsResponse) UnmarshalJSON

func (v *ListAuthorizedApplicationsResponse) UnmarshalJSON(data []byte) error

type ListCategoriesRequest

type ListCategoriesRequest struct {
	// OrderBy (OPTIONAL) Optional. name asc (default) or updated_at desc.
	OrderBy runtime.Optional[string] `json:"order_by"`
	// Pagination (OPTIONAL) Optional. Shared page size and opaque page token; defaults to 20 items.
	Pagination runtime.Optional[*AppforgesCommonV1PaginationRequest] `json:"pagination"`
	// ParentCategoryId (OPTIONAL) Optional. Omit to list roots; otherwise list direct children of this node.
	ParentCategoryId runtime.Optional[string] `json:"parent_category_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (ListCategoriesRequest) MarshalJSON

func (v ListCategoriesRequest) MarshalJSON() ([]byte, error)

func (*ListCategoriesRequest) UnmarshalJSON

func (v *ListCategoriesRequest) UnmarshalJSON(data []byte) error

type ListCategoriesResponse

type ListCategoriesResponse struct {
	// Categories Required. Direct child category nodes; empty when no node matches.
	Categories []*Category `json:"categories"`
	// Pagination Required. Shared pagination result.
	Pagination *AppforgesCommonV1PaginationResponse `json:"pagination"`
}

func (ListCategoriesResponse) MarshalJSON

func (v ListCategoriesResponse) MarshalJSON() ([]byte, error)

func (*ListCategoriesResponse) UnmarshalJSON

func (v *ListCategoriesResponse) UnmarshalJSON(data []byte) error

type ListMembersRequest

type ListMembersRequest struct {
	OrgId runtime.Optional[string] `json:"org_id"`
	// PageSize Server clamps to [1, 200]; default 50 when zero.
	PageSize  runtime.Optional[int64]  `json:"page_size"`
	PageToken runtime.Optional[string] `json:"page_token"`
}

func (ListMembersRequest) MarshalJSON

func (v ListMembersRequest) MarshalJSON() ([]byte, error)

func (*ListMembersRequest) UnmarshalJSON

func (v *ListMembersRequest) UnmarshalJSON(data []byte) error

type ListMembersResponse

type ListMembersResponse struct {
	Members       runtime.Optional[[]*OrganizationMember] `json:"members"`
	NextPageToken runtime.Optional[string]                `json:"next_page_token"`
}

func (ListMembersResponse) MarshalJSON

func (v ListMembersResponse) MarshalJSON() ([]byte, error)

func (*ListMembersResponse) UnmarshalJSON

func (v *ListMembersResponse) UnmarshalJSON(data []byte) error

type ListOAuthClientsRequest

type ListOAuthClientsRequest struct {
	AppId     runtime.Optional[string] `json:"app_id"`
	PageSize  runtime.Optional[int64]  `json:"page_size"`
	PageToken runtime.Optional[string] `json:"page_token"`
}

func (ListOAuthClientsRequest) MarshalJSON

func (v ListOAuthClientsRequest) MarshalJSON() ([]byte, error)

func (*ListOAuthClientsRequest) UnmarshalJSON

func (v *ListOAuthClientsRequest) UnmarshalJSON(data []byte) error

type ListOAuthClientsResponse

type ListOAuthClientsResponse struct {
	Clients       runtime.Optional[[]*OAuthClient] `json:"clients"`
	NextPageToken runtime.Optional[string]         `json:"next_page_token"`
	TotalCount    runtime.Optional[int64]          `json:"total_count"`
}

func (ListOAuthClientsResponse) MarshalJSON

func (v ListOAuthClientsResponse) MarshalJSON() ([]byte, error)

func (*ListOAuthClientsResponse) UnmarshalJSON

func (v *ListOAuthClientsResponse) UnmarshalJSON(data []byte) error

type ListOrganizationsRequest

type ListOrganizationsRequest struct {
	// PageSize Server clamps to [1, 100]; default 50 when zero.
	PageSize runtime.Optional[int64] `json:"page_size"`
	// PageToken Opaque cursor from a previous response.
	PageToken runtime.Optional[string] `json:"page_token"`
}

func (ListOrganizationsRequest) MarshalJSON

func (v ListOrganizationsRequest) MarshalJSON() ([]byte, error)

func (*ListOrganizationsRequest) UnmarshalJSON

func (v *ListOrganizationsRequest) UnmarshalJSON(data []byte) error

type ListOrganizationsResponse

type ListOrganizationsResponse struct {
	// NextPageToken Empty when no more pages remain.
	NextPageToken runtime.Optional[string]          `json:"next_page_token"`
	Organizations runtime.Optional[[]*Organization] `json:"organizations"`
}

func (ListOrganizationsResponse) MarshalJSON

func (v ListOrganizationsResponse) MarshalJSON() ([]byte, error)

func (*ListOrganizationsResponse) UnmarshalJSON

func (v *ListOrganizationsResponse) UnmarshalJSON(data []byte) error

type ListPageInstructionsRequest

type ListPageInstructionsRequest struct {
	PageId string `json:"page_id"`
	// Pagination (OPTIONAL)
	Pagination runtime.Optional[*AppforgesCommonV1PaginationRequest] `json:"pagination"`
	UserId     string                                                `json:"user_id"`
}

func (ListPageInstructionsRequest) MarshalJSON

func (v ListPageInstructionsRequest) MarshalJSON() ([]byte, error)

func (*ListPageInstructionsRequest) UnmarshalJSON

func (v *ListPageInstructionsRequest) UnmarshalJSON(data []byte) error

type ListPageInstructionsResponse

type ListPageInstructionsResponse struct {
	// Instructions (OPTIONAL)
	Instructions runtime.Optional[[]*PageInstruction] `json:"instructions"`
	// Pagination (OPTIONAL)
	Pagination runtime.Optional[*AppforgesCommonV1PaginationResponse] `json:"pagination"`
}

func (ListPageInstructionsResponse) MarshalJSON

func (v ListPageInstructionsResponse) MarshalJSON() ([]byte, error)

func (*ListPageInstructionsResponse) UnmarshalJSON

func (v *ListPageInstructionsResponse) UnmarshalJSON(data []byte) error

type ListPageVersionsRequest

type ListPageVersionsRequest struct {
	// OrderBy (OPTIONAL) Optional. sequence_number desc (default) or sequence_number asc.
	OrderBy runtime.Optional[string] `json:"order_by"`
	// PageId Required. Owning page identifier.
	PageId string `json:"page_id"`
	// Pagination (OPTIONAL) Optional. Shared page size and opaque page token; defaults to 20 items.
	Pagination runtime.Optional[*AppforgesCommonV1PaginationRequest] `json:"pagination"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (ListPageVersionsRequest) MarshalJSON

func (v ListPageVersionsRequest) MarshalJSON() ([]byte, error)

func (*ListPageVersionsRequest) UnmarshalJSON

func (v *ListPageVersionsRequest) UnmarshalJSON(data []byte) error

type ListPageVersionsResponse

type ListPageVersionsResponse struct {
	// Pagination Required. Shared pagination result.
	Pagination *AppforgesCommonV1PaginationResponse `json:"pagination"`
	// Versions Required. Immutable version summaries without HTML.
	Versions []*PageVersionSummary `json:"versions"`
}

func (ListPageVersionsResponse) MarshalJSON

func (v ListPageVersionsResponse) MarshalJSON() ([]byte, error)

func (*ListPageVersionsResponse) UnmarshalJSON

func (v *ListPageVersionsResponse) UnmarshalJSON(data []byte) error

type ListPagesRequest

type ListPagesRequest struct {
	// CategoryId (OPTIONAL) Optional. Restrict results to one direct category.
	CategoryId runtime.Optional[string] `json:"category_id"`
	// OrderBy (OPTIONAL) Optional. created_at desc (default) or created_at asc.
	OrderBy runtime.Optional[string] `json:"order_by"`
	// Pagination (OPTIONAL) Optional. Shared page size and opaque page token; defaults to 20 items.
	Pagination runtime.Optional[*AppforgesCommonV1PaginationRequest] `json:"pagination"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (ListPagesRequest) MarshalJSON

func (v ListPagesRequest) MarshalJSON() ([]byte, error)

func (*ListPagesRequest) UnmarshalJSON

func (v *ListPagesRequest) UnmarshalJSON(data []byte) error

type ListPagesResponse

type ListPagesResponse struct {
	// Pages Required. Lightweight page projections; empty when no page matches.
	Pages []*PageSummary `json:"pages"`
	// Pagination Required. Shared pagination result.
	Pagination *AppforgesCommonV1PaginationResponse `json:"pagination"`
}

func (ListPagesResponse) MarshalJSON

func (v ListPagesResponse) MarshalJSON() ([]byte, error)

func (*ListPagesResponse) UnmarshalJSON

func (v *ListPagesResponse) UnmarshalJSON(data []byte) error

type ListPlatformAccountsRequest

type ListPlatformAccountsRequest struct {
	// Platform 按平台过滤,不指定则返回所有平台的账号。
	Platform runtime.Optional[Platform] `json:"platform"`
}

ListPlatformAccountsRequest ListPlatformAccountsRequest 查询已绑定的平台账号。

func (ListPlatformAccountsRequest) MarshalJSON

func (v ListPlatformAccountsRequest) MarshalJSON() ([]byte, error)

func (*ListPlatformAccountsRequest) UnmarshalJSON

func (v *ListPlatformAccountsRequest) UnmarshalJSON(data []byte) error

type ListPlatformAccountsResponse

type ListPlatformAccountsResponse struct {
	Accounts runtime.Optional[[]*PlatformAccount] `json:"accounts"`
}

func (ListPlatformAccountsResponse) MarshalJSON

func (v ListPlatformAccountsResponse) MarshalJSON() ([]byte, error)

func (*ListPlatformAccountsResponse) UnmarshalJSON

func (v *ListPlatformAccountsResponse) UnmarshalJSON(data []byte) error

type ListPresetsRequest

type ListPresetsRequest = any

type ListPresetsResponse

type ListPresetsResponse struct {
	Presets runtime.Optional[[]*Preset] `json:"presets"`
}

func (ListPresetsResponse) MarshalJSON

func (v ListPresetsResponse) MarshalJSON() ([]byte, error)

func (*ListPresetsResponse) UnmarshalJSON

func (v *ListPresetsResponse) UnmarshalJSON(data []byte) error

type ListProjectsRequest

type ListProjectsRequest struct {
	// PageSize 每页返回数量,默认 20,最大 100。
	PageSize runtime.Optional[int64] `json:"page_size"`
	// PageToken 分页令牌。
	PageToken runtime.Optional[string] `json:"page_token"`
	// Status 按项目状态过滤。
	Status runtime.Optional[ProjectStatus] `json:"status"`
}

func (ListProjectsRequest) MarshalJSON

func (v ListProjectsRequest) MarshalJSON() ([]byte, error)

func (*ListProjectsRequest) UnmarshalJSON

func (v *ListProjectsRequest) UnmarshalJSON(data []byte) error

type ListProjectsResponse

type ListProjectsResponse struct {
	NextPageToken runtime.Optional[string]     `json:"next_page_token"`
	Projects      runtime.Optional[[]*Project] `json:"projects"`
	TotalCount    runtime.Optional[int64]      `json:"total_count"`
}

func (ListProjectsResponse) MarshalJSON

func (v ListProjectsResponse) MarshalJSON() ([]byte, error)

func (*ListProjectsResponse) UnmarshalJSON

func (v *ListProjectsResponse) UnmarshalJSON(data []byte) error

type ListPublishRecordsRequest

type ListPublishRecordsRequest struct {
	// ArticleId 按文章 ID 过滤。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// PageSize 每页返回数量,默认 20,最大 100。
	PageSize runtime.Optional[int64] `json:"page_size"`
	// PageToken 分页令牌。
	PageToken runtime.Optional[string] `json:"page_token"`
	// Platform 按平台过滤。
	Platform runtime.Optional[Platform] `json:"platform"`
	// Status 按发布状态过滤。
	Status runtime.Optional[PublishStatus] `json:"status"`
}

ListPublishRecordsRequest ListPublishRecordsRequest 查询发布历史,支持按文章、平台、状态过滤。

func (ListPublishRecordsRequest) MarshalJSON

func (v ListPublishRecordsRequest) MarshalJSON() ([]byte, error)

func (*ListPublishRecordsRequest) UnmarshalJSON

func (v *ListPublishRecordsRequest) UnmarshalJSON(data []byte) error

type ListPublishRecordsResponse

type ListPublishRecordsResponse struct {
	NextPageToken runtime.Optional[string]           `json:"next_page_token"`
	Records       runtime.Optional[[]*PublishRecord] `json:"records"`
	TotalCount    runtime.Optional[int64]            `json:"total_count"`
}

func (ListPublishRecordsResponse) MarshalJSON

func (v ListPublishRecordsResponse) MarshalJSON() ([]byte, error)

func (*ListPublishRecordsResponse) UnmarshalJSON

func (v *ListPublishRecordsResponse) UnmarshalJSON(data []byte) error

type ListScopesRequest

type ListScopesRequest struct {
	// Category Optional filter by category
	Category runtime.Optional[string] `json:"category"`
}

func (ListScopesRequest) MarshalJSON

func (v ListScopesRequest) MarshalJSON() ([]byte, error)

func (*ListScopesRequest) UnmarshalJSON

func (v *ListScopesRequest) UnmarshalJSON(data []byte) error

type ListScopesResponse

type ListScopesResponse struct {
	Scopes runtime.Optional[[]*Scope] `json:"scopes"`
}

func (ListScopesResponse) MarshalJSON

func (v ListScopesResponse) MarshalJSON() ([]byte, error)

func (*ListScopesResponse) UnmarshalJSON

func (v *ListScopesResponse) UnmarshalJSON(data []byte) error

type ListSessionsRequest

type ListSessionsRequest = any

type ListSessionsResponse

type ListSessionsResponse struct {
	Sessions runtime.Optional[[]*SessionInfo] `json:"sessions"`
}

func (ListSessionsResponse) MarshalJSON

func (v ListSessionsResponse) MarshalJSON() ([]byte, error)

func (*ListSessionsResponse) UnmarshalJSON

func (v *ListSessionsResponse) UnmarshalJSON(data []byte) error

type ListTemplatesRequest

type ListTemplatesRequest = any

type ListTemplatesResponse

type ListTemplatesResponse struct {
	Templates runtime.Optional[[]*Template] `json:"templates"`
}

func (ListTemplatesResponse) MarshalJSON

func (v ListTemplatesResponse) MarshalJSON() ([]byte, error)

func (*ListTemplatesResponse) UnmarshalJSON

func (v *ListTemplatesResponse) UnmarshalJSON(data []byte) error

type ListVertexAPIKeysRequest added in v0.61.0

type ListVertexAPIKeysRequest struct {
	// OwnerUserId Optional exact owner filter.
	OwnerUserId runtime.Optional[string] `json:"owner_user_id"`
	PageSize    runtime.Optional[int64]  `json:"page_size"`
	PageToken   runtime.Optional[string] `json:"page_token"`
}

func (ListVertexAPIKeysRequest) MarshalJSON added in v0.61.0

func (v ListVertexAPIKeysRequest) MarshalJSON() ([]byte, error)

func (*ListVertexAPIKeysRequest) UnmarshalJSON added in v0.61.0

func (v *ListVertexAPIKeysRequest) UnmarshalJSON(data []byte) error

type ListVertexAPIKeysResponse added in v0.61.0

type ListVertexAPIKeysResponse struct {
	Keys          runtime.Optional[[]*VertexAPIKey] `json:"keys"`
	NextPageToken runtime.Optional[string]          `json:"next_page_token"`
}

func (ListVertexAPIKeysResponse) MarshalJSON added in v0.61.0

func (v ListVertexAPIKeysResponse) MarshalJSON() ([]byte, error)

func (*ListVertexAPIKeysResponse) UnmarshalJSON added in v0.61.0

func (v *ListVertexAPIKeysResponse) UnmarshalJSON(data []byte) error

type ListVideoTasksRequest

type ListVideoTasksRequest struct {
	// PageSize 每页返回数量,默认 20,最大 100。
	PageSize runtime.Optional[int64] `json:"page_size"`
	// PageToken 分页令牌。
	PageToken runtime.Optional[string] `json:"page_token"`
	// ProjectId 按项目过滤。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// Status 按任务状态过滤。
	Status runtime.Optional[VideoStatus] `json:"status"`
}

func (ListVideoTasksRequest) MarshalJSON

func (v ListVideoTasksRequest) MarshalJSON() ([]byte, error)

func (*ListVideoTasksRequest) UnmarshalJSON

func (v *ListVideoTasksRequest) UnmarshalJSON(data []byte) error

type ListVideoTasksResponse

type ListVideoTasksResponse struct {
	NextPageToken runtime.Optional[string]       `json:"next_page_token"`
	Tasks         runtime.Optional[[]*VideoTask] `json:"tasks"`
	TotalCount    runtime.Optional[int64]        `json:"total_count"`
}

func (ListVideoTasksResponse) MarshalJSON

func (v ListVideoTasksResponse) MarshalJSON() ([]byte, error)

func (*ListVideoTasksResponse) UnmarshalJSON

func (v *ListVideoTasksResponse) UnmarshalJSON(data []byte) error

type ListWebhookDeliveriesRequest

type ListWebhookDeliveriesRequest struct {
	PageSize  runtime.Optional[int64]  `json:"page_size"`
	PageToken runtime.Optional[string] `json:"page_token"`
	// Status Optional filter
	Status    runtime.Optional[DeliveryStatus] `json:"status"`
	WebhookId runtime.Optional[string]         `json:"webhook_id"`
}

func (ListWebhookDeliveriesRequest) MarshalJSON

func (v ListWebhookDeliveriesRequest) MarshalJSON() ([]byte, error)

func (*ListWebhookDeliveriesRequest) UnmarshalJSON

func (v *ListWebhookDeliveriesRequest) UnmarshalJSON(data []byte) error

type ListWebhookDeliveriesResponse

type ListWebhookDeliveriesResponse struct {
	Deliveries    runtime.Optional[[]*WebhookDelivery] `json:"deliveries"`
	NextPageToken runtime.Optional[string]             `json:"next_page_token"`
	TotalCount    runtime.Optional[int64]              `json:"total_count"`
}

func (ListWebhookDeliveriesResponse) MarshalJSON

func (v ListWebhookDeliveriesResponse) MarshalJSON() ([]byte, error)

func (*ListWebhookDeliveriesResponse) UnmarshalJSON

func (v *ListWebhookDeliveriesResponse) UnmarshalJSON(data []byte) error

type ListWebhooksRequest

type ListWebhooksRequest struct {
	AppId     runtime.Optional[string] `json:"app_id"`
	PageSize  runtime.Optional[int64]  `json:"page_size"`
	PageToken runtime.Optional[string] `json:"page_token"`
}

func (ListWebhooksRequest) MarshalJSON

func (v ListWebhooksRequest) MarshalJSON() ([]byte, error)

func (*ListWebhooksRequest) UnmarshalJSON

func (v *ListWebhooksRequest) UnmarshalJSON(data []byte) error

type ListWebhooksResponse

type ListWebhooksResponse struct {
	NextPageToken runtime.Optional[string]     `json:"next_page_token"`
	TotalCount    runtime.Optional[int64]      `json:"total_count"`
	Webhooks      runtime.Optional[[]*Webhook] `json:"webhooks"`
}

func (ListWebhooksResponse) MarshalJSON

func (v ListWebhooksResponse) MarshalJSON() ([]byte, error)

func (*ListWebhooksResponse) UnmarshalJSON

func (v *ListWebhooksResponse) UnmarshalJSON(data []byte) error

type LoginHistoryEntry

type LoginHistoryEntry struct {
	// DeviceInfo DeviceInfo describes the client device.
	DeviceInfo    runtime.Optional[*DeviceInfo] `json:"device_info"`
	FailureReason runtime.Optional[string]      `json:"failure_reason"`
	HistoryId     runtime.Optional[string]      `json:"history_id"`
	Ip            runtime.Optional[string]      `json:"ip"`
	Location      runtime.Optional[string]      `json:"location"`
	// LoginTime A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	LoginTime runtime.Optional[Timestamp] `json:"login_time"`
	// LoginType LoginType describes how a login was performed.
	LoginType runtime.Optional[LoginType] `json:"login_type"`
	Success   runtime.Optional[bool]      `json:"success"`
}

LoginHistoryEntry LoginHistoryEntry records a single login attempt.

func (LoginHistoryEntry) MarshalJSON

func (v LoginHistoryEntry) MarshalJSON() ([]byte, error)

func (*LoginHistoryEntry) UnmarshalJSON

func (v *LoginHistoryEntry) UnmarshalJSON(data []byte) error

type LoginRequest

type LoginRequest struct {
	// DeviceInfo DeviceInfo describes the client device.
	DeviceInfo   runtime.Optional[*DeviceInfo] `json:"device_info"`
	Email        runtime.Optional[string]      `json:"email"`
	PasswordHash runtime.Optional[string]      `json:"password_hash"`
	Phone        runtime.Optional[string]      `json:"phone"`
}

func (LoginRequest) MarshalJSON

func (v LoginRequest) MarshalJSON() ([]byte, error)

func (*LoginRequest) UnmarshalJSON

func (v *LoginRequest) UnmarshalJSON(data []byte) error

type LoginResponse

type LoginResponse struct {
	CsrfToken runtime.Optional[string] `json:"csrf_token"`
	SessionId runtime.Optional[string] `json:"session_id"`
	// Tokens TokenPair contains access and refresh tokens returned after authentication.
	Tokens runtime.Optional[*TokenPair] `json:"tokens"`
	// User UserBrief is a minimal user representation returned in auth responses.
	User runtime.Optional[*UserBrief] `json:"user"`
}

func (LoginResponse) MarshalJSON

func (v LoginResponse) MarshalJSON() ([]byte, error)

func (*LoginResponse) UnmarshalJSON

func (v *LoginResponse) UnmarshalJSON(data []byte) error

type LoginType

type LoginType string

LoginType LoginType describes how a login was performed.

const (
	LoginTypeLOGINTYPEUNSPECIFIED      LoginType = "LOGIN_TYPE_UNSPECIFIED"
	LoginTypeLOGINTYPEPASSWORD         LoginType = "LOGIN_TYPE_PASSWORD"
	LoginTypeLOGINTYPEVERIFICATIONCODE LoginType = "LOGIN_TYPE_VERIFICATION_CODE"
	LoginTypeLOGINTYPEOAUTH            LoginType = "LOGIN_TYPE_OAUTH"
	LoginTypeLOGINTYPEOPAQUE           LoginType = "LOGIN_TYPE_OPAQUE"
)

func (LoginType) MarshalJSON

func (v LoginType) MarshalJSON() ([]byte, error)

func (*LoginType) UnmarshalJSON

func (v *LoginType) UnmarshalJSON(data []byte) error

type LoginWithVerificationCodeRequest

type LoginWithVerificationCodeRequest struct {
	Code         runtime.Optional[string] `json:"code"`
	CodeVerifier runtime.Optional[string] `json:"code_verifier"`
	// DeviceInfo DeviceInfo describes the client device.
	DeviceInfo runtime.Optional[*DeviceInfo] `json:"device_info"`
	Target     runtime.Optional[string]      `json:"target"`
	Txid       runtime.Optional[string]      `json:"txid"`
	// Type VerificationType indicates the channel for verification code delivery.
	Type runtime.Optional[VerificationType] `json:"type"`
}

func (LoginWithVerificationCodeRequest) MarshalJSON

func (v LoginWithVerificationCodeRequest) MarshalJSON() ([]byte, error)

func (*LoginWithVerificationCodeRequest) UnmarshalJSON

func (v *LoginWithVerificationCodeRequest) UnmarshalJSON(data []byte) error

type LoginWithVerificationCodeResponse

type LoginWithVerificationCodeResponse struct {
	CsrfToken runtime.Optional[string] `json:"csrf_token"`
	SessionId runtime.Optional[string] `json:"session_id"`
	// Tokens TokenPair contains access and refresh tokens returned after authentication.
	Tokens runtime.Optional[*TokenPair] `json:"tokens"`
	// User UserBrief is a minimal user representation returned in auth responses.
	User runtime.Optional[*UserBrief] `json:"user"`
}

func (LoginWithVerificationCodeResponse) MarshalJSON

func (v LoginWithVerificationCodeResponse) MarshalJSON() ([]byte, error)

func (*LoginWithVerificationCodeResponse) UnmarshalJSON

func (v *LoginWithVerificationCodeResponse) UnmarshalJSON(data []byte) error

type LogoutRequest

type LogoutRequest = any

type LogoutResponse

type LogoutResponse = any

type LookupUserRequest

type LookupUserRequest = any

type LookupUserResponse

type LookupUserResponse struct {
	// EmailMasked Masked contact fields (e.g. "j***@example.com", "138****8000").
	EmailMasked runtime.Optional[string] `json:"email_masked"`
	Name        runtime.Optional[string] `json:"name"`
	PhoneMasked runtime.Optional[string] `json:"phone_masked"`
	// Status Account lifecycle status.
	Status runtime.Optional[UserStatus] `json:"status"`
	// UserId Opaque entity-id (`usr` prefix).
	UserId runtime.Optional[string] `json:"user_id"`
}

func (LookupUserResponse) MarshalJSON

func (v LookupUserResponse) MarshalJSON() ([]byte, error)

func (*LookupUserResponse) UnmarshalJSON

func (v *LookupUserResponse) UnmarshalJSON(data []byte) error

type Material

type Material struct {
	// CostSummary Required. File-service estimate and settlement summary.
	CostSummary *CostSummary `json:"cost_summary"`
	// CreatedAt Required. Material creation time after multipart completion.
	CreatedAt Timestamp `json:"created_at"`
	// DetectedMediaType Required. MIME detected from the complete uploaded object.
	DetectedMediaType string `json:"detected_media_type"`
	// DisplayName Required. Sanitized user-visible basename without a device path.
	DisplayName string `json:"display_name"`
	// FailureReason (OPTIONAL) Conditional. Required in REJECTED or FAILED; stable and provider-safe.
	FailureReason runtime.Optional[string] `json:"failure_reason"`
	// MaterialId Required. Opaque material identifier.
	MaterialId string `json:"material_id"`
	// PageId (OPTIONAL) Conditional. Present after the material is retained by a page.
	PageId runtime.Optional[string] `json:"page_id"`
	// Sha256 Required. Lowercase hexadecimal SHA-256 of the complete object.
	Sha256 string `json:"sha256"`
	// SizeBytes Required. Actual object size confirmed by storage.
	SizeBytes string `json:"size_bytes"`
	// Status Required. Current validation and parsing lifecycle state.
	Status MaterialStatus `json:"status"`
	// UpdatedAt Required. Time the material fact last changed.
	UpdatedAt Timestamp `json:"updated_at"`
}

Material Material is a validated, owner-scoped source asset created only after a

multipart upload is completed and the full object has been verified.

func (Material) MarshalJSON

func (v Material) MarshalJSON() ([]byte, error)

func (*Material) UnmarshalJSON

func (v *Material) UnmarshalJSON(data []byte) error

type MaterialDeletionResult

type MaterialDeletionResult struct {
	// AcceptedAt Required. Time logical access revocation became effective.
	AcceptedAt Timestamp `json:"accepted_at"`
	// MaterialId Required. Opaque deleted material identifier.
	MaterialId string `json:"material_id"`
}

MaterialDeletionResult MaterialDeletionResult confirms immediate access revocation for an unbound

material. Physical cleanup continues asynchronously.

func (MaterialDeletionResult) MarshalJSON

func (v MaterialDeletionResult) MarshalJSON() ([]byte, error)

func (*MaterialDeletionResult) UnmarshalJSON

func (v *MaterialDeletionResult) UnmarshalJSON(data []byte) error

type MaterialStatus

type MaterialStatus string

MaterialStatus MaterialStatus is the public processing lifecycle of an uploaded material.

const (
	MaterialStatusMATERIALSTATUSUNSPECIFIED MaterialStatus = "MATERIAL_STATUS_UNSPECIFIED"
	MaterialStatusMATERIALSTATUSSCANNING    MaterialStatus = "MATERIAL_STATUS_SCANNING"
	MaterialStatusMATERIALSTATUSPARSING     MaterialStatus = "MATERIAL_STATUS_PARSING"
	MaterialStatusMATERIALSTATUSREADY       MaterialStatus = "MATERIAL_STATUS_READY"
	MaterialStatusMATERIALSTATUSREJECTED    MaterialStatus = "MATERIAL_STATUS_REJECTED"
	MaterialStatusMATERIALSTATUSFAILED      MaterialStatus = "MATERIAL_STATUS_FAILED"
	MaterialStatusMATERIALSTATUSDELETED     MaterialStatus = "MATERIAL_STATUS_DELETED"
)

func (MaterialStatus) MarshalJSON

func (v MaterialStatus) MarshalJSON() ([]byte, error)

func (*MaterialStatus) UnmarshalJSON

func (v *MaterialStatus) UnmarshalJSON(data []byte) error

type MetadataGetPageVersionMetadataParams

type MetadataGetPageVersionMetadataParams struct {
	// PageId Required. Owning page identifier.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// VersionId Required. Explicit published version belonging to page_id; never resolves latest.
	VersionId string
}

type MetadataService

type MetadataService struct {
	// contains filtered or unexported fields
}

func (*MetadataService) GetPageVersionMetadata

GetPageVersionMetadata GetPageVersionMetadata

Return authoritative published-version metadata without HTML or download tickets.

page_id: Required. Owning page identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

version_id: Required. Explicit published version belonging to page_id; never resolves latest.

type OAuthApplication

type OAuthApplication struct {
	AllowedGrantTypes runtime.Optional[[]GrantType] `json:"allowed_grant_types"`
	// AllowedIdentities Which identity forms (user / org / workspace) this Client may issue
	//  tokens for. Empty list falls back to the historical
	//  ApplicationType-based default — TYPE_WEB / TYPE_SPA / TYPE_MOBILE
	//  issue user tokens only; TYPE_SERVICE issues org tokens only. New
	//  clients SHOULD set this explicitly.
	AllowedIdentities runtime.Optional[[]IdentityType] `json:"allowed_identities"`
	AllowedScopes     runtime.Optional[[]string]       `json:"allowed_scopes"`
	AppId             runtime.Optional[string]         `json:"app_id"`
	// AppName Deprecated: read display fields from the developer center. Will be
	//  removed in a future major version.
	AppName runtime.Optional[string] `json:"app_name"`
	// AppType ApplicationType describes the kind of OAuth client application.
	AppType  runtime.Optional[ApplicationType] `json:"app_type"`
	ClientId runtime.Optional[string]          `json:"client_id"`
	// ClientSecretMasked Only last 4 chars visible, e.g. "****abcd"
	ClientSecretMasked runtime.Optional[string] `json:"client_secret_masked"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// Description Deprecated: same as app_name.
	Description runtime.Optional[string] `json:"description"`
	// HomepageUrl Deprecated: same as app_name.
	HomepageUrl runtime.Optional[string] `json:"homepage_url"`
	// LogoUrl Deprecated: same as app_name.
	LogoUrl runtime.Optional[string] `json:"logo_url"`
	// OwnerId Developer user ID who owns this application
	OwnerId      runtime.Optional[string]   `json:"owner_id"`
	RedirectUris runtime.Optional[[]string] `json:"redirect_uris"`
	// Status ApplicationStatus represents the lifecycle state of an OAuth application.
	Status runtime.Optional[ApplicationStatus] `json:"status"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

OAuthApplication OAuthApplication represents a registered third-party application.

Display fields (`app_name`, `description`, `homepage_url`, `logo_url`)
on this message are deprecated; the developer center is the
authoritative source for application display metadata. The fields
remain populated on read for backward compatibility and will be
removed in a future major version.

func (OAuthApplication) MarshalJSON

func (v OAuthApplication) MarshalJSON() ([]byte, error)

func (*OAuthApplication) UnmarshalJSON

func (v *OAuthApplication) UnmarshalJSON(data []byte) error

type OAuthClient

type OAuthClient struct {
	AllowedGrantTypes runtime.Optional[[]GrantType]    `json:"allowed_grant_types"`
	AllowedIdentities runtime.Optional[[]IdentityType] `json:"allowed_identities"`
	AllowedScopes     runtime.Optional[[]string]       `json:"allowed_scopes"`
	AppId             runtime.Optional[string]         `json:"app_id"`
	ClientId          runtime.Optional[string]         `json:"client_id"`
	// ClientType ClientCredentialType describes whether an OAuth client can keep a secret.
	ClientType runtime.Optional[ClientCredentialType] `json:"client_type"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt       runtime.Optional[Timestamp] `json:"created_at"`
	Description     runtime.Optional[string]    `json:"description"`
	HasClientSecret runtime.Optional[bool]      `json:"has_client_secret"`
	Name            runtime.Optional[string]    `json:"name"`
	RedirectUris    runtime.Optional[[]string]  `json:"redirect_uris"`
	// Status ClientCredentialStatus represents the lifecycle state of one OAuth client.
	Status runtime.Optional[ClientCredentialStatus] `json:"status"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

OAuthClient OAuthClient is one credential atom owned by IAM. An application may own

multiple clients; app_id and client_id must therefore be used together for
every management operation.

Secret material and secret hashes are deliberately absent from this read
model. Plaintext is returned exactly once by create and rotate responses.

func (OAuthClient) MarshalJSON

func (v OAuthClient) MarshalJSON() ([]byte, error)

func (*OAuthClient) UnmarshalJSON

func (v *OAuthClient) UnmarshalJSON(data []byte) error

type OpaqueLoginFinalizeRequest

type OpaqueLoginFinalizeRequest struct {
	// DeviceInfo DeviceInfo describes the client device.
	DeviceInfo runtime.Optional[*DeviceInfo] `json:"device_info"`
	Ke3        runtime.Optional[string]      `json:"ke3"`
	SessionId  runtime.Optional[string]      `json:"session_id"`
}

func (OpaqueLoginFinalizeRequest) MarshalJSON

func (v OpaqueLoginFinalizeRequest) MarshalJSON() ([]byte, error)

func (*OpaqueLoginFinalizeRequest) UnmarshalJSON

func (v *OpaqueLoginFinalizeRequest) UnmarshalJSON(data []byte) error

type OpaqueLoginFinalizeResponse

type OpaqueLoginFinalizeResponse struct {
	// Tokens TokenPair contains access and refresh tokens returned after authentication.
	Tokens runtime.Optional[*TokenPair] `json:"tokens"`
	// User UserBrief is a minimal user representation returned in auth responses.
	User runtime.Optional[*UserBrief] `json:"user"`
}

func (OpaqueLoginFinalizeResponse) MarshalJSON

func (v OpaqueLoginFinalizeResponse) MarshalJSON() ([]byte, error)

func (*OpaqueLoginFinalizeResponse) UnmarshalJSON

func (v *OpaqueLoginFinalizeResponse) UnmarshalJSON(data []byte) error

type OpaqueLoginInitRequest

type OpaqueLoginInitRequest struct {
	Email runtime.Optional[string] `json:"email"`
	Ke1   runtime.Optional[string] `json:"ke1"`
	Phone runtime.Optional[string] `json:"phone"`
}

func (OpaqueLoginInitRequest) MarshalJSON

func (v OpaqueLoginInitRequest) MarshalJSON() ([]byte, error)

func (*OpaqueLoginInitRequest) UnmarshalJSON

func (v *OpaqueLoginInitRequest) UnmarshalJSON(data []byte) error

type OpaqueLoginInitResponse

type OpaqueLoginInitResponse struct {
	Ke2            runtime.Optional[string] `json:"ke2"`
	ServerIdentity runtime.Optional[string] `json:"server_identity"`
	SessionId      runtime.Optional[string] `json:"session_id"`
}

func (OpaqueLoginInitResponse) MarshalJSON

func (v OpaqueLoginInitResponse) MarshalJSON() ([]byte, error)

func (*OpaqueLoginInitResponse) UnmarshalJSON

func (v *OpaqueLoginInitResponse) UnmarshalJSON(data []byte) error

type OpaqueRegisterFinalizeRequest

type OpaqueRegisterFinalizeRequest struct {
	Code               runtime.Optional[string] `json:"code"`
	CodeVerifier       runtime.Optional[string] `json:"code_verifier"`
	RegistrationRecord runtime.Optional[string] `json:"registration_record"`
	Txid               runtime.Optional[string] `json:"txid"`
}

func (OpaqueRegisterFinalizeRequest) MarshalJSON

func (v OpaqueRegisterFinalizeRequest) MarshalJSON() ([]byte, error)

func (*OpaqueRegisterFinalizeRequest) UnmarshalJSON

func (v *OpaqueRegisterFinalizeRequest) UnmarshalJSON(data []byte) error

type OpaqueRegisterFinalizeResponse

type OpaqueRegisterFinalizeResponse struct {
	// User UserBrief is a minimal user representation returned in auth responses.
	User runtime.Optional[*UserBrief] `json:"user"`
}

func (OpaqueRegisterFinalizeResponse) MarshalJSON

func (v OpaqueRegisterFinalizeResponse) MarshalJSON() ([]byte, error)

func (*OpaqueRegisterFinalizeResponse) UnmarshalJSON

func (v *OpaqueRegisterFinalizeResponse) UnmarshalJSON(data []byte) error

type OpaqueRegisterInitRequest

type OpaqueRegisterInitRequest struct {
	CodeChallenge       runtime.Optional[string] `json:"code_challenge"`
	Email               runtime.Optional[string] `json:"email"`
	Phone               runtime.Optional[string] `json:"phone"`
	RegistrationRequest runtime.Optional[string] `json:"registration_request"`
}

func (OpaqueRegisterInitRequest) MarshalJSON

func (v OpaqueRegisterInitRequest) MarshalJSON() ([]byte, error)

func (*OpaqueRegisterInitRequest) UnmarshalJSON

func (v *OpaqueRegisterInitRequest) UnmarshalJSON(data []byte) error

type OpaqueRegisterInitResponse

type OpaqueRegisterInitResponse struct {
	RegistrationResponse runtime.Optional[string] `json:"registration_response"`
	ServerIdentity       runtime.Optional[string] `json:"server_identity"`
	Txid                 runtime.Optional[string] `json:"txid"`
}

func (OpaqueRegisterInitResponse) MarshalJSON

func (v OpaqueRegisterInitResponse) MarshalJSON() ([]byte, error)

func (*OpaqueRegisterInitResponse) UnmarshalJSON

func (v *OpaqueRegisterInitResponse) UnmarshalJSON(data []byte) error

type OptimizeHtmlRequest

type OptimizeHtmlRequest struct {
	// ArticleId 待优化的文章 ID,与 content 互斥。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// Content 待优化的原始 HTML 文本,与 article_id 互斥。
	Content runtime.Optional[string] `json:"content"`
	// Instructions 优化指令,例如 "适配暗色模式"、"优化移动端排版"。
	Instructions runtime.Optional[string] `json:"instructions"`
	// TargetPlatform 目标发布平台,指定后会针对该平台的 HTML 限制和最佳实践进行优化。
	TargetPlatform runtime.Optional[Platform] `json:"target_platform"`
}

OptimizeHtmlRequest OptimizeHtmlRequest 对已有的 HTML 内容进行格式和排版优化。

可指定 target_platform 以针对特定平台的 HTML 兼容性进行优化
(例如微信公众号不支持外链图片、知乎有特定 CSS 限制等)。
article_id 和 content 二选一。

func (OptimizeHtmlRequest) MarshalJSON

func (v OptimizeHtmlRequest) MarshalJSON() ([]byte, error)

func (*OptimizeHtmlRequest) UnmarshalJSON

func (v *OptimizeHtmlRequest) UnmarshalJSON(data []byte) error

type OptimizeHtmlResponse

type OptimizeHtmlResponse struct {
	// Article 优化后的完整文章实体,仅在 done=true 时填充。
	Article runtime.Optional[*Article] `json:"article"`
	// Done 是否优化完毕。
	Done runtime.Optional[bool] `json:"done"`
	// Event 流式事件,携带内容片段、状态更新、Token 用量或错误信息。
	Event runtime.Optional[StreamEvent] `json:"event"`
}

OptimizeHtmlResponse OptimizeHtmlResponse 是 OptimizeHtml 的流式响应。

func (OptimizeHtmlResponse) MarshalJSON

func (v OptimizeHtmlResponse) MarshalJSON() ([]byte, error)

func (*OptimizeHtmlResponse) UnmarshalJSON

func (v *OptimizeHtmlResponse) UnmarshalJSON(data []byte) error

type OptimizeMarkdownRequest

type OptimizeMarkdownRequest struct {
	// ArticleId 待优化的文章 ID,与 content 互斥。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// Content 待优化的原始 Markdown 文本,与 article_id 互斥。
	Content runtime.Optional[string] `json:"content"`
	// Instructions 优化指令,例如 "改善可读性"、"统一标题层级"、"添加目录"。
	Instructions runtime.Optional[string] `json:"instructions"`
}

OptimizeMarkdownRequest OptimizeMarkdownRequest 对已有的 Markdown 内容进行格式和排版优化。

article_id 和 content 二选一:指定 article_id 则从数据库加载,
指定 content 则直接处理原始文本。

func (OptimizeMarkdownRequest) MarshalJSON

func (v OptimizeMarkdownRequest) MarshalJSON() ([]byte, error)

func (*OptimizeMarkdownRequest) UnmarshalJSON

func (v *OptimizeMarkdownRequest) UnmarshalJSON(data []byte) error

type OptimizeMarkdownResponse

type OptimizeMarkdownResponse struct {
	// Article 优化后的完整文章实体,仅在 done=true 时填充。
	Article runtime.Optional[*Article] `json:"article"`
	// Done 是否优化完毕。
	Done runtime.Optional[bool] `json:"done"`
	// Event 流式事件,携带内容片段、状态更新、Token 用量或错误信息。
	Event runtime.Optional[StreamEvent] `json:"event"`
}

OptimizeMarkdownResponse OptimizeMarkdownResponse 是 OptimizeMarkdown 的流式响应。

func (OptimizeMarkdownResponse) MarshalJSON

func (v OptimizeMarkdownResponse) MarshalJSON() ([]byte, error)

func (*OptimizeMarkdownResponse) UnmarshalJSON

func (v *OptimizeMarkdownResponse) UnmarshalJSON(data []byte) error

type Organization

type Organization struct {
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// Metadata Free-form JSON object. Pre-scrubbed of secrets at write time. Forward-
	//  compatible across proto bumps without breaking consumers.
	Metadata runtime.Optional[string] `json:"metadata"`
	// Name Display name shown in dashboards and consent screens.
	Name runtime.Optional[string] `json:"name"`
	// OrgId Opaque entity-id with `org` prefix. Globally unique across the tenant_id
	//  value space.
	OrgId runtime.Optional[string] `json:"org_id"`
	// OwnerUserId user_id of the initial creator. Transferable via UpdateOrganization +
	//  server-side ownership-handoff workflow (TODO: dedicated TransferOwnership
	//  RPC may land in a follow-up slice if needed; for now ownership is
	//  transferred by promoting another member to owner via UpdateMemberRole
	//  and then demoting the previous owner).
	OwnerUserId runtime.Optional[string] `json:"owner_user_id"`
	// Slug URL-friendly short name. Lowercase alphanumerics + dashes, 3-40 chars.
	//  Globally unique. Used in URLs like /v1/orgs/{slug} when a developer
	//  prefers slug-routed paths over org_id-routed ones.
	Slug runtime.Optional[string] `json:"slug"`
	// Status Lifecycle state. See OrganizationStatus enum.
	Status runtime.Optional[OrganizationStatus] `json:"status"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

Organization Organization is one of the two concrete tenant forms (the other is

Workspace).

`org_id` is an opaque entity-id with the `org` prefix and shares the
platform-wide `tenant_id` value space with workspace ids. Consumers
must treat it as opaque — no parsing, no length assumptions,
byte-exact case-sensitive comparison.

func (Organization) MarshalJSON

func (v Organization) MarshalJSON() ([]byte, error)

func (*Organization) UnmarshalJSON

func (v *Organization) UnmarshalJSON(data []byte) error

type OrganizationMember

type OrganizationMember struct {
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// InvitedBy user_id of the inviter (empty for the initial owner)
	InvitedBy runtime.Optional[string] `json:"invited_by"`
	OrgId     runtime.Optional[string] `json:"org_id"`
	// Role OrganizationMemberRole governs the actions a member may take within the
	//  organization. Authorization decisions are delegated to AuthZService.Check;
	//  these values are the canonical role identifiers stored on the row.
	Role runtime.Optional[OrganizationMemberRole] `json:"role"`
	// Status OrganizationMemberStatus tracks the state of a membership edge.
	Status runtime.Optional[OrganizationMemberStatus] `json:"status"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
	UserId    runtime.Optional[string]    `json:"user_id"`
}

OrganizationMember OrganizationMember is a (org, user) edge with a role and lifecycle status.

The role taxonomy (owner / admin / member) is the SAME WORDS as the
application-level membership role surfaced by the developer center;
the two live at different scopes and do not transitively grant each
other.

func (OrganizationMember) MarshalJSON

func (v OrganizationMember) MarshalJSON() ([]byte, error)

func (*OrganizationMember) UnmarshalJSON

func (v *OrganizationMember) UnmarshalJSON(data []byte) error

type OrganizationMemberRole

type OrganizationMemberRole string

OrganizationMemberRole OrganizationMemberRole governs the actions a member may take within the

organization. Authorization decisions are delegated to AuthZService.Check;
these values are the canonical role identifiers stored on the row.
const (
	OrganizationMemberRoleORGANIZATIONMEMBERROLEUNSPECIFIED OrganizationMemberRole = "ORGANIZATION_MEMBER_ROLE_UNSPECIFIED"
	OrganizationMemberRoleORGANIZATIONMEMBERROLEOWNER       OrganizationMemberRole = "ORGANIZATION_MEMBER_ROLE_OWNER"
	OrganizationMemberRoleORGANIZATIONMEMBERROLEADMIN       OrganizationMemberRole = "ORGANIZATION_MEMBER_ROLE_ADMIN"
	OrganizationMemberRoleORGANIZATIONMEMBERROLEMEMBER      OrganizationMemberRole = "ORGANIZATION_MEMBER_ROLE_MEMBER"
)

func (OrganizationMemberRole) MarshalJSON

func (v OrganizationMemberRole) MarshalJSON() ([]byte, error)

func (*OrganizationMemberRole) UnmarshalJSON

func (v *OrganizationMemberRole) UnmarshalJSON(data []byte) error

type OrganizationMemberStatus

type OrganizationMemberStatus string

OrganizationMemberStatus OrganizationMemberStatus tracks the state of a membership edge.

const (
	OrganizationMemberStatusORGANIZATIONMEMBERSTATUSUNSPECIFIED OrganizationMemberStatus = "ORGANIZATION_MEMBER_STATUS_UNSPECIFIED"
	OrganizationMemberStatusORGANIZATIONMEMBERSTATUSACTIVE      OrganizationMemberStatus = "ORGANIZATION_MEMBER_STATUS_ACTIVE"
	OrganizationMemberStatusORGANIZATIONMEMBERSTATUSINVITED     OrganizationMemberStatus = "ORGANIZATION_MEMBER_STATUS_INVITED"
	OrganizationMemberStatusORGANIZATIONMEMBERSTATUSREMOVED     OrganizationMemberStatus = "ORGANIZATION_MEMBER_STATUS_REMOVED"
)

func (OrganizationMemberStatus) MarshalJSON

func (v OrganizationMemberStatus) MarshalJSON() ([]byte, error)

func (*OrganizationMemberStatus) UnmarshalJSON

func (v *OrganizationMemberStatus) UnmarshalJSON(data []byte) error

type OrganizationStatus

type OrganizationStatus string

OrganizationStatus OrganizationStatus is the lifecycle state of an organization.

const (
	OrganizationStatusORGANIZATIONSTATUSUNSPECIFIED OrganizationStatus = "ORGANIZATION_STATUS_UNSPECIFIED"
	OrganizationStatusORGANIZATIONSTATUSACTIVE      OrganizationStatus = "ORGANIZATION_STATUS_ACTIVE"
	OrganizationStatusORGANIZATIONSTATUSSUSPENDED   OrganizationStatus = "ORGANIZATION_STATUS_SUSPENDED"
	OrganizationStatusORGANIZATIONSTATUSARCHIVED    OrganizationStatus = "ORGANIZATION_STATUS_ARCHIVED"
)

func (OrganizationStatus) MarshalJSON

func (v OrganizationStatus) MarshalJSON() ([]byte, error)

func (*OrganizationStatus) UnmarshalJSON

func (v *OrganizationStatus) UnmarshalJSON(data []byte) error

type Orientation

type Orientation string

Orientation Orientation is the requested or rendered A4 page orientation.

const (
	OrientationORIENTATIONUNSPECIFIED Orientation = "ORIENTATION_UNSPECIFIED"
	OrientationORIENTATIONAUTO        Orientation = "ORIENTATION_AUTO"
	OrientationORIENTATIONPORTRAIT    Orientation = "ORIENTATION_PORTRAIT"
	OrientationORIENTATIONLANDSCAPE   Orientation = "ORIENTATION_LANDSCAPE"
)

func (Orientation) MarshalJSON

func (v Orientation) MarshalJSON() ([]byte, error)

func (*Orientation) UnmarshalJSON

func (v *Orientation) UnmarshalJSON(data []byte) error

type Page

type Page struct {
	// ActiveJobId (OPTIONAL) Conditional. Present while exactly one user job is QUEUED or RUNNING.
	ActiveJobId runtime.Optional[string] `json:"active_job_id"`
	// CategoryId (OPTIONAL) Optional. Direct category identifier; absent when uncategorized.
	CategoryId runtime.Optional[string] `json:"category_id"`
	// ContentRevision Required. Monotonic content baseline revision used for publication CAS.
	ContentRevision string `json:"content_revision"`
	// CreatedAt Required. First submission time; regeneration does not change it.
	CreatedAt Timestamp `json:"created_at"`
	// CurrentVersionId (OPTIONAL) Optional. Current successful version; absent before first publication.
	CurrentVersionId runtime.Optional[string] `json:"current_version_id"`
	// Etag Required. Cache and representation validator for the current Page view.
	Etag string `json:"etag"`
	// EventRevision Required. Monotonic event revision for all client-visible changes.
	EventRevision string `json:"event_revision"`
	// LatestJob Required. Most recent logical generation job summary.
	LatestJob *JobSummary `json:"latest_job"`
	// PageId Required. Opaque page identifier.
	PageId string `json:"page_id"`
	// Title Required. User-visible title, from 1 to 200 Unicode characters.
	Title string `json:"title"`
	// UpdatedAt Required. Time page metadata or current-version pointer last changed.
	UpdatedAt Timestamp `json:"updated_at"`
}

Page Page is the authoritative user-visible aggregate for one PinPage.

func (Page) MarshalJSON

func (v Page) MarshalJSON() ([]byte, error)

func (*Page) UnmarshalJSON

func (v *Page) UnmarshalJSON(data []byte) error

type PageDeletionPreview

type PageDeletionPreview struct {
	// ActiveEstimateCount Required. Active estimates that will be invalidated.
	ActiveEstimateCount int64 `json:"active_estimate_count"`
	// AiCallCount Required. Logical AI call slots included in the deletion scope.
	AiCallCount int64 `json:"ai_call_count"`
	// BriefRevisionCount Required. Complete brief revisions included in the deletion scope.
	BriefRevisionCount int64 `json:"brief_revision_count"`
	// CategoryOrganizationEstimateCount Required. Category-organization estimates that will be invalidated.
	CategoryOrganizationEstimateCount int64 `json:"category_organization_estimate_count"`
	// CategoryOrganizationJobCount Required. Category-organization jobs included in the deletion scope.
	CategoryOrganizationJobCount int64 `json:"category_organization_job_count"`
	// CategoryPlanCount Required. Category plan storage objects included in the deletion scope.
	CategoryPlanCount int64 `json:"category_plan_count"`
	// ConfirmationToken Required. Short-lived confirmation capability; never log or persist in telemetry.
	ConfirmationToken string `json:"confirmation_token"`
	// ContentRevision Required. Page content revision bound into this preview.
	ContentRevision string `json:"content_revision"`
	// EventRevision Required. Page event revision observed by this preview.
	EventRevision string `json:"event_revision"`
	// ExpiresAt Required. Expiry of the confirmation token and impact snapshot.
	ExpiresAt Timestamp `json:"expires_at"`
	// ExportCount Required. PDF and PNG artifacts included in the deletion scope.
	ExportCount int64 `json:"export_count"`
	// ExternalSourceCount Required. Future-reserved external source count; zero in the current release.
	ExternalSourceCount int64 `json:"external_source_count"`
	// ExternalTempCopyCount Required. Registered external temporary copies included in the scope.
	ExternalTempCopyCount int64 `json:"external_temp_copy_count"`
	// FailureContextCount Required. Typed failure contexts included in the deletion scope.
	FailureContextCount int64 `json:"failure_context_count"`
	// GenerationPlanCount Required. Generation plan revisions included in the deletion scope.
	GenerationPlanCount int64 `json:"generation_plan_count"`
	// GenerationPlanStepCount Required. Structured plan steps included in the deletion scope.
	GenerationPlanStepCount int64 `json:"generation_plan_step_count"`
	// ImpactFingerprint Required. SHA-256 of the exact canonical deletion scope.
	ImpactFingerprint string `json:"impact_fingerprint"`
	// JobCount Required. Logical jobs included in the deletion scope.
	JobCount int64 `json:"job_count"`
	// JobInputCount Required. Frozen job inputs included in the deletion scope.
	JobInputCount int64 `json:"job_input_count"`
	// MaterialCount Required. Materials included in the deletion scope.
	MaterialCount int64 `json:"material_count"`
	// PageId Required. Opaque page identifier to delete.
	PageId string `json:"page_id"`
	// ProvisionalCandidateCount Required. Unpublished candidates included in the deletion scope.
	ProvisionalCandidateCount int64 `json:"provisional_candidate_count"`
	// ReplanDecisionCount Required. Structured replan decisions included in the deletion scope.
	ReplanDecisionCount int64 `json:"replan_decision_count"`
	// ReviewReportCount Required. Structured review reports included in the deletion scope.
	ReviewReportCount int64 `json:"review_report_count"`
	// SourceCount Required. Material and inline-text sources included in the deletion scope.
	SourceCount int64 `json:"source_count"`
	// ToolCallCount Required. Future-reserved tool call count; zero in the current release.
	ToolCallCount int64 `json:"tool_call_count"`
	// VersionCount Required. Published versions included in the deletion scope.
	VersionCount int64 `json:"version_count"`
}

PageDeletionPreview PageDeletionPreview is a signed, short-lived exact impact snapshot used for

explicit page-deletion confirmation.

func (PageDeletionPreview) MarshalJSON

func (v PageDeletionPreview) MarshalJSON() ([]byte, error)

func (*PageDeletionPreview) UnmarshalJSON

func (v *PageDeletionPreview) UnmarshalJSON(data []byte) error

type PageDeletionResult

type PageDeletionResult struct {
	// AcceptedAt Required. Time logical access revocation became effective.
	AcceptedAt Timestamp `json:"accepted_at"`
	// ContentRevision Required. Content tombstone revision produced by the deletion transaction.
	ContentRevision string `json:"content_revision"`
	// EventRevision Required. Event tombstone revision produced by the deletion transaction.
	EventRevision string `json:"event_revision"`
	// PageId Required. Opaque deleted page identifier.
	PageId string `json:"page_id"`
	// PhysicalDeleteDueAt Required. Latest permitted physical deletion time for primary storage.
	PhysicalDeleteDueAt Timestamp `json:"physical_delete_due_at"`
}

PageDeletionResult PageDeletionResult confirms immediate access revocation and the accepted

asynchronous physical-deletion deadline.

func (PageDeletionResult) MarshalJSON

func (v PageDeletionResult) MarshalJSON() ([]byte, error)

func (*PageDeletionResult) UnmarshalJSON

func (v *PageDeletionResult) UnmarshalJSON(data []byte) error

type PageDeletionTarget

type PageDeletionTarget struct {
	// ContentRevision Required. Page content revision incorporated into the impact fingerprint.
	ContentRevision string `json:"content_revision"`
	// DeletionScopeFingerprint Required. SHA-256 of this page's complete canonical deletion scope.
	DeletionScopeFingerprint string `json:"deletion_scope_fingerprint"`
	// PageId Required. Opaque page identifier to delete.
	PageId string `json:"page_id"`
	// Title Required. Current user-visible title shown for confirmation.
	Title string `json:"title"`
}

PageDeletionTarget PageDeletionTarget is one exact page included in a signed category subtree

deletion preview.

func (PageDeletionTarget) MarshalJSON

func (v PageDeletionTarget) MarshalJSON() ([]byte, error)

func (*PageDeletionTarget) UnmarshalJSON

func (v *PageDeletionTarget) UnmarshalJSON(data []byte) error

type PageInstruction

type PageInstruction struct {
	// CreatedAt (OPTIONAL)
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// Instruction (OPTIONAL)
	Instruction runtime.Optional[string] `json:"instruction"`
	// JobId (OPTIONAL)
	JobId runtime.Optional[string] `json:"job_id"`
}

func (PageInstruction) MarshalJSON

func (v PageInstruction) MarshalJSON() ([]byte, error)

func (*PageInstruction) UnmarshalJSON

func (v *PageInstruction) UnmarshalJSON(data []byte) error

type PageStatus

type PageStatus string

PageStatus PageStatus is the client-facing status derived from the current version and

latest generation job.
const (
	PageStatusPAGESTATUSUNSPECIFIED PageStatus = "PAGE_STATUS_UNSPECIFIED"
	PageStatusPAGESTATUSGENERATING  PageStatus = "PAGE_STATUS_GENERATING"
	PageStatusPAGESTATUSREADY       PageStatus = "PAGE_STATUS_READY"
	PageStatusPAGESTATUSFAILED      PageStatus = "PAGE_STATUS_FAILED"
)

func (PageStatus) MarshalJSON

func (v PageStatus) MarshalJSON() ([]byte, error)

func (*PageStatus) UnmarshalJSON

func (v *PageStatus) UnmarshalJSON(data []byte) error

type PageSummary

type PageSummary struct {
	// CategoryId (OPTIONAL) Optional. Direct category identifier; absent when uncategorized.
	CategoryId runtime.Optional[string] `json:"category_id"`
	// ContentRevision Required. Current page content revision.
	ContentRevision string `json:"content_revision"`
	// CreatedAt Required. Page creation time.
	CreatedAt Timestamp `json:"created_at"`
	// CurrentVersionSummary (OPTIONAL) Conditional. Present whenever a current successful version exists.
	CurrentVersionSummary runtime.Optional[*CurrentVersionSummary] `json:"current_version_summary"`
	// EventRevision Required. Current page event revision.
	EventRevision string `json:"event_revision"`
	// PageId Required. Opaque page identifier.
	PageId string `json:"page_id"`
	// Status Required. Status derived from page and latest-job facts.
	Status PageStatus `json:"status"`
	// Title Required. Current user-visible title.
	Title string `json:"title"`
	// UpdatedAt Required. Time the list-visible page projection last changed.
	UpdatedAt Timestamp `json:"updated_at"`
}

PageSummary PageSummary is the lightweight list projection and never includes HTML.

func (PageSummary) MarshalJSON

func (v PageSummary) MarshalJSON() ([]byte, error)

func (*PageSummary) UnmarshalJSON

func (v *PageSummary) UnmarshalJSON(data []byte) error

type PageVersion

type PageVersion struct {
	// Artifacts Required. Exactly one validated PDF and one validated PNG artifact.
	Artifacts []*VersionArtifact `json:"artifacts"`
	// CreatedAt Required. Immutable version creation time.
	CreatedAt Timestamp `json:"created_at"`
	// Html Required. Complete validated HTML suitable for offline caching.
	Html string `json:"html"`
	// HtmlSha256 Required. SHA-256 of the complete normalized HTML.
	HtmlSha256 string `json:"html_sha256"`
	// InformationAsOf (OPTIONAL) Conditional. Future-reserved; present only when external sources are enabled.
	InformationAsOf runtime.Optional[Timestamp] `json:"information_as_of"`
	// Orientation Required. Published A4 page orientation.
	Orientation Orientation `json:"orientation"`
	// PageId Required. Opaque owning page identifier.
	PageId string `json:"page_id"`
	// PublishedContentRevision Required. Page content revision committed on first publication.
	PublishedContentRevision string `json:"published_content_revision"`
	// PublishedEventRevision Required. Page event revision committed on first publication.
	PublishedEventRevision string `json:"published_event_revision"`
	// SequenceNumber Required. Monotonic display sequence within the page.
	SequenceNumber string `json:"sequence_number"`
	// SourceJobId Required. Unique successful job that created the version.
	SourceJobId string `json:"source_job_id"`
	// SourceNotes (OPTIONAL) Optional. Safe source, omission, and uncertainty notes.
	SourceNotes runtime.Optional[[]*SourceNote] `json:"source_notes"`
	// VersionId Required. Opaque version identifier.
	VersionId string `json:"version_id"`
}

PageVersion PageVersion is an immutable, complete published version including validated

offline HTML and artifact metadata.

func (PageVersion) MarshalJSON

func (v PageVersion) MarshalJSON() ([]byte, error)

func (*PageVersion) UnmarshalJSON

func (v *PageVersion) UnmarshalJSON(data []byte) error

type PageVersionMetadata

type PageVersionMetadata struct {
	// Artifacts Required. Exactly one validated PDF and one validated PNG artifact.
	Artifacts []*VersionArtifact `json:"artifacts"`
	// Summary Required. Authoritative immutable version identity and orientation.
	Summary *PageVersionSummary `json:"summary"`
}

PageVersionMetadata PageVersionMetadata describes a published version without reading HTML or issuing tickets.

func (PageVersionMetadata) MarshalJSON

func (v PageVersionMetadata) MarshalJSON() ([]byte, error)

func (*PageVersionMetadata) UnmarshalJSON

func (v *PageVersionMetadata) UnmarshalJSON(data []byte) error

type PageVersionSummary

type PageVersionSummary struct {
	// CreatedAt Required. Immutable version creation time.
	CreatedAt Timestamp `json:"created_at"`
	// HtmlSha256 Required. SHA-256 of the complete normalized HTML.
	HtmlSha256 string `json:"html_sha256"`
	// Orientation Required. Published A4 page orientation.
	Orientation Orientation `json:"orientation"`
	// PageId Required. Opaque owning page identifier.
	PageId string `json:"page_id"`
	// PublishedContentRevision Required. Page content revision committed on first publication.
	PublishedContentRevision string `json:"published_content_revision"`
	// PublishedEventRevision Required. Page event revision committed on first publication.
	PublishedEventRevision string `json:"published_event_revision"`
	// SequenceNumber Required. Monotonic display sequence within the page.
	SequenceNumber string `json:"sequence_number"`
	// SourceJobId Required. Unique successful job that created the version.
	SourceJobId string `json:"source_job_id"`
	// VersionId Required. Opaque version identifier.
	VersionId string `json:"version_id"`
}

PageVersionSummary PageVersionSummary is an immutable list projection of a published version.

func (PageVersionSummary) MarshalJSON

func (v PageVersionSummary) MarshalJSON() ([]byte, error)

func (*PageVersionSummary) UnmarshalJSON

func (v *PageVersionSummary) UnmarshalJSON(data []byte) error

type PinpageCategoriesApplyOrganizationBody

type PinpageCategoriesApplyOrganizationBody struct {
	// BillingIntentId Required. Settled billing intent belonging to the organization job.
	BillingIntentId string `json:"billingIntentId"`
	// EstimateId Required. Estimate consumed by the organization job.
	EstimateId string `json:"estimateId"`
	// OrganizationJobId Required. Successful, unexpired organization job.
	OrganizationJobId string `json:"organizationJobId"`
}

func (PinpageCategoriesApplyOrganizationBody) MarshalJSON

func (v PinpageCategoriesApplyOrganizationBody) MarshalJSON() ([]byte, error)

func (*PinpageCategoriesApplyOrganizationBody) UnmarshalJSON

func (v *PinpageCategoriesApplyOrganizationBody) UnmarshalJSON(data []byte) error

type PinpageCategoriesApplyOrganizationParams

type PinpageCategoriesApplyOrganizationParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *PinpageCategoriesApplyOrganizationBody
}

type PinpageCategoriesDeleteCategoryParams

type PinpageCategoriesDeleteCategoryParams struct {
	// CategoryId Required. Root category to revoke and delete with its subtree.
	CategoryId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// ImpactFingerprint Required. Exact aggregate impact fingerprint from the adjacent preview.
	ImpactFingerprint string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	// XPinPageDeletionConfirmation Required short-lived deletion capability returned by the matching PinPage deletion preview operation.
	XPinPageDeletionConfirmation string
}

type PinpageCategoriesEstimateOrganizationBody

type PinpageCategoriesEstimateOrganizationBody struct {
	// Instruction Required. One-time organization instruction, from 1 to 2,000 characters.
	Instruction string `json:"instruction"`
	// ScopeCategoryId (OPTIONAL) Optional. Omit for the whole tree; otherwise restrict to this subtree.
	ScopeCategoryId runtime.Optional[string] `json:"scopeCategoryId"`
}

func (PinpageCategoriesEstimateOrganizationBody) MarshalJSON

func (*PinpageCategoriesEstimateOrganizationBody) UnmarshalJSON

func (v *PinpageCategoriesEstimateOrganizationBody) UnmarshalJSON(data []byte) error

type PinpageCategoriesEstimateOrganizationParams

type PinpageCategoriesEstimateOrganizationParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	Body   *PinpageCategoriesEstimateOrganizationBody
}

type PinpageCategoriesListCategoriesParams

type PinpageCategoriesListCategoriesParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// OrderBy Optional. name asc (default) or updated_at desc.
	OrderBy   runtime.Optional[string]
	PageSize  runtime.Optional[int64]
	PageToken runtime.Optional[string]
	// ParentCategoryId Optional. Omit to list roots; otherwise list direct children of this node.
	ParentCategoryId runtime.Optional[string]
}

type PinpageCategoriesPreviewCategoryDeletionParams

type PinpageCategoriesPreviewCategoryDeletionParams struct {
	// CategoryId Required. Root category whose exact subtree impact is requested.
	CategoryId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpageCategoriesPreviewOrganizationBody

type PinpageCategoriesPreviewOrganizationBody struct {
	// ConfirmedAuthorizedMaxCredit Required. Exact maximum user net charge confirmed by the user.
	ConfirmedAuthorizedMaxCredit string `json:"confirmedAuthorizedMaxCredit"`
	// ConfirmedEstimatedAiCredit Required. Public AI estimate confirmed by the user.
	ConfirmedEstimatedAiCredit string `json:"confirmedEstimatedAiCredit"`
	// EstimateId Required. Active estimate whose tree snapshot still matches.
	EstimateId string `json:"estimateId"`
	// InputFingerprint Required. Exact frozen instruction, scope, and tree fingerprint.
	InputFingerprint string `json:"inputFingerprint"`
}

func (PinpageCategoriesPreviewOrganizationBody) MarshalJSON

func (*PinpageCategoriesPreviewOrganizationBody) UnmarshalJSON

func (v *PinpageCategoriesPreviewOrganizationBody) UnmarshalJSON(data []byte) error

type PinpageCategoriesPreviewOrganizationParams

type PinpageCategoriesPreviewOrganizationParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *PinpageCategoriesPreviewOrganizationBody
}

type PinpageCategoriesService

type PinpageCategoriesService struct {
	// contains filtered or unexported fields
}

func (*PinpageCategoriesService) ApplyOrganization

ApplyOrganization ApplyCategoryOrganization

Apply one unexpired settled preview without a second charge.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

func (*PinpageCategoriesService) DeleteCategory

DeleteCategory DeleteCategory

Revoke a confirmed subtree and its pages, then schedule exact cleanup.

category_id: Required. Root category to revoke and delete with its subtree.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

impactFingerprint: Required. Exact aggregate impact fingerprint from the adjacent preview.

X-Idempotency-Key: Required opaque idempotency key for this operation.

X-PinPage-Deletion-Confirmation: Required short-lived deletion capability returned by the matching PinPage deletion preview operation.

func (*PinpageCategoriesService) EstimateOrganization

EstimateOrganization EstimateCategoryOrganization

Create a durable estimate for one natural-language organization request.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

func (*PinpageCategoriesService) ListCategories

ListCategories ListCategories

List one level of direct child categories.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

orderBy: Optional. name asc (default) or updated_at desc.

parentCategoryId: Optional. Omit to list roots; otherwise list direct children of this node.

func (*PinpageCategoriesService) ListCategoriesAll

func (*PinpageCategoriesService) PreviewCategoryDeletion

PreviewCategoryDeletion PreviewCategoryDeletion

Produce a signed exact impact snapshot for one category subtree.

category_id: Required. Root category whose exact subtree impact is requested.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

func (*PinpageCategoriesService) PreviewOrganization

PreviewOrganization PreviewCategoryOrganization

Consume an estimate and accept asynchronous organization planning.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

type PinpageCategoryOrganizationJobsGetCategoryOrganizationJobParams

type PinpageCategoryOrganizationJobsGetCategoryOrganizationJobParams struct {
	// OrganizationJobId Required. Opaque user-requested organization job identifier.
	OrganizationJobId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpageCategoryOrganizationJobsService

type PinpageCategoryOrganizationJobsService struct {
	// contains filtered or unexported fields
}

func (*PinpageCategoryOrganizationJobsService) GetCategoryOrganizationJob

GetCategoryOrganizationJob GetCategoryOrganizationJob

Return one user-requested category organization job.

organization_job_id: Required. Opaque user-requested organization job identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

type PinpageCategoryPreferenceGetCategoryPreferenceParams

type PinpageCategoryPreferenceGetCategoryPreferenceParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpageCategoryPreferenceService

type PinpageCategoryPreferenceService struct {
	// contains filtered or unexported fields
}

func (*PinpageCategoryPreferenceService) GetCategoryPreference

GetCategoryPreference GetCategoryPreference

Return the user-scoped singleton category preference.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

func (*PinpageCategoryPreferenceService) UpdateCategoryPreference

UpdateCategoryPreference UpdateCategoryPreference

Fully replace or explicitly clear the singleton category preference.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

type PinpageCategoryPreferenceUpdateCategoryPreferenceBody

type PinpageCategoryPreferenceUpdateCategoryPreferenceBody struct {
	// Etag Required. Optimistic concurrency validator read from the singleton.
	Etag string `json:"etag"`
	// RulesText Required. Complete replacement text; empty explicitly clears the rules.
	RulesText string `json:"rulesText"`
}

func (PinpageCategoryPreferenceUpdateCategoryPreferenceBody) MarshalJSON

func (*PinpageCategoryPreferenceUpdateCategoryPreferenceBody) UnmarshalJSON

type PinpageCategoryPreferenceUpdateCategoryPreferenceParams

type PinpageCategoryPreferenceUpdateCategoryPreferenceParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *PinpageCategoryPreferenceUpdateCategoryPreferenceBody
}

type PinpageJobsCreateGenerationBody

type PinpageJobsCreateGenerationBody struct {
	// ClientReference (OPTIONAL) Optional. Client-local draft correlation value, at most 128 characters.
	ClientReference runtime.Optional[string] `json:"clientReference"`
	// Instruction Required. The complete production requirement, including any source text
	//  the user wants PinPage to use. It is never interpreted as a money budget.
	Instruction string `json:"instruction"`
	// MaterialIds (OPTIONAL) Optional. Complete set of READY materials attached to this generation.
	MaterialIds runtime.Optional[[]string] `json:"materialIds"`
	// Orientation (OPTIONAL) Optional. Defaults to AUTO.
	Orientation runtime.Optional[Orientation] `json:"orientation"`
	// Title (OPTIONAL) Optional. Candidate page title.
	Title runtime.Optional[string] `json:"title"`
	// UiLocale (OPTIONAL) Optional. Actual UI locale; valid Accept-Language takes precedence.
	UiLocale runtime.Optional[string] `json:"uiLocale"`
}

func (PinpageJobsCreateGenerationBody) MarshalJSON

func (v PinpageJobsCreateGenerationBody) MarshalJSON() ([]byte, error)

func (*PinpageJobsCreateGenerationBody) UnmarshalJSON

func (v *PinpageJobsCreateGenerationBody) UnmarshalJSON(data []byte) error

type PinpageJobsCreateGenerationParams

type PinpageJobsCreateGenerationParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *PinpageJobsCreateGenerationBody
}

type PinpageJobsEstimateBody

type PinpageJobsEstimateBody struct {
	// AddMaterialIds (OPTIONAL) Optional. Materials added to a regeneration baseline.
	AddMaterialIds runtime.Optional[[]string] `json:"addMaterialIds"`
	// BaseJobId (OPTIONAL) Optional. Regeneration baseline job when the selected branch requires one.
	BaseJobId runtime.Optional[string] `json:"baseJobId"`
	// BriefInstruction (OPTIONAL) Optional. Required for create and an optional delta for regeneration.
	BriefInstruction runtime.Optional[string] `json:"briefInstruction"`
	// ContentDecisionActionToken (OPTIONAL) Optional. Required with content_decision_context_id and never logged.
	ContentDecisionActionToken runtime.Optional[string] `json:"contentDecisionActionToken"`
	// ContentDecisionContextDigest (OPTIONAL) Optional. Required with content_decision_context_id.
	ContentDecisionContextDigest runtime.Optional[string] `json:"contentDecisionContextDigest"`
	// ContentDecisionContextId (OPTIONAL) Optional. Required when resolving a durable content-decision context.
	ContentDecisionContextId runtime.Optional[string] `json:"contentDecisionContextId"`
	// ContentDecisionNote (OPTIONAL) Optional. Regeneration-only note accompanying selected option identifiers.
	ContentDecisionNote runtime.Optional[string] `json:"contentDecisionNote"`
	// ContentDecisionOptionIds (OPTIONAL) Optional. Required and non-empty with content_decision_context_id.
	ContentDecisionOptionIds runtime.Optional[[]string] `json:"contentDecisionOptionIds"`
	// ExternalInformationMode (OPTIONAL) Optional. Required for create/regeneration and currently must be DISABLED.
	ExternalInformationMode runtime.Optional[ExternalInformationMode] `json:"externalInformationMode"`
	// InlineText (OPTIONAL) Optional. Complete inline source for create; forbidden for other operations.
	InlineText runtime.Optional[string] `json:"inlineText"`
	// InlineTextChange (OPTIONAL) Optional. Typed inline-text delta for regeneration only.
	InlineTextChange runtime.Optional[*InlineTextChange] `json:"inlineTextChange"`
	// MaterialIds (OPTIONAL) Optional. Complete create-time material set; conditionally non-empty.
	MaterialIds runtime.Optional[[]string] `json:"materialIds"`
	// Operation Required. CREATE_PAGE, REGENERATE_PAGE, or RETRY_JOB.
	Operation GenerationOperation `json:"operation"`
	// Orientation (OPTIONAL) Optional. Create or regeneration orientation; forbidden for retry.
	Orientation runtime.Optional[Orientation] `json:"orientation"`
	// PageId (OPTIONAL) Optional. Required for REGENERATE_PAGE and RETRY_JOB; forbidden for create.
	PageId runtime.Optional[string] `json:"pageId"`
	// RemoveMaterialIds (OPTIONAL) Optional. Materials removed from a regeneration baseline.
	RemoveMaterialIds runtime.Optional[[]string] `json:"removeMaterialIds"`
	// SourceJobId (OPTIONAL) Optional. Required only for RETRY_JOB.
	SourceJobId runtime.Optional[string] `json:"sourceJobId"`
	// Title (OPTIONAL) Optional. Create-only candidate title.
	Title runtime.Optional[string] `json:"title"`
}

func (PinpageJobsEstimateBody) MarshalJSON

func (v PinpageJobsEstimateBody) MarshalJSON() ([]byte, error)

func (*PinpageJobsEstimateBody) UnmarshalJSON

func (v *PinpageJobsEstimateBody) UnmarshalJSON(data []byte) error

type PinpageJobsEstimateParams

type PinpageJobsEstimateParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	Body   *PinpageJobsEstimateBody
}

type PinpageJobsGetJobParams

type PinpageJobsGetJobParams struct {
	// JobId Required. Opaque job identifier.
	JobId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpageJobsRetryJobBody

type PinpageJobsRetryJobBody struct {
	// ConfirmedAuthorizedMaxCredit Required. Exact maximum user net charge confirmed by the user.
	ConfirmedAuthorizedMaxCredit string `json:"confirmedAuthorizedMaxCredit"`
	// EstimateId Required. Active RETRY_JOB estimate bound to job_id.
	EstimateId string `json:"estimateId"`
	// InputFingerprint Required. Exact fingerprint from the durable estimate.
	InputFingerprint string `json:"inputFingerprint"`
}

func (PinpageJobsRetryJobBody) MarshalJSON

func (v PinpageJobsRetryJobBody) MarshalJSON() ([]byte, error)

func (*PinpageJobsRetryJobBody) UnmarshalJSON

func (v *PinpageJobsRetryJobBody) UnmarshalJSON(data []byte) error

type PinpageJobsRetryJobParams

type PinpageJobsRetryJobParams struct {
	// JobId Required. Failed source job from the request path.
	JobId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *PinpageJobsRetryJobBody
}

type PinpageJobsService

type PinpageJobsService struct {
	// contains filtered or unexported fields
}

func (*PinpageJobsService) CreateGeneration

CreateGeneration CreateGeneration

Atomically freeze the user input and create a page plus generation job.

Vertex owns LLM charging and quota admission; this request deliberately
carries no quote, balance, budget, or user-authorized charge fields.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

func (*PinpageJobsService) Estimate deprecated

Estimate EstimateGeneration

Create a durable, short-lived estimate without starting generation.

Deprecated. New clients call CreateGeneration directly.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

Deprecated:

func (*PinpageJobsService) GetJob

GetJob GetJob

Return the authoritative state of one generation job.

job_id: Required. Opaque job identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

func (*PinpageJobsService) RetryJob

RetryJob RetryJob

Consume a RETRY_JOB estimate and create a new job with frozen input.

job_id: Required. Failed source job from the request path.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

func (*PinpageJobsService) Submit deprecated

Submit SubmitGeneration

Consume a CREATE_PAGE estimate and atomically create a page and job.

Deprecated. New clients call CreateGeneration directly.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

Deprecated:

type PinpageJobsSubmitBody

type PinpageJobsSubmitBody struct {
	// ClientReference (OPTIONAL) Optional. Client-local draft correlation value, at most 128 characters.
	ClientReference runtime.Optional[string] `json:"clientReference"`
	// ConfirmedAuthorizedMaxCredit Required. Exact maximum user net charge confirmed by the user.
	ConfirmedAuthorizedMaxCredit string `json:"confirmedAuthorizedMaxCredit"`
	// EstimateId Required. Active CREATE_PAGE estimate identifier.
	EstimateId string `json:"estimateId"`
	// InputFingerprint Required. Exact fingerprint from the durable estimate.
	InputFingerprint string `json:"inputFingerprint"`
}

func (PinpageJobsSubmitBody) MarshalJSON

func (v PinpageJobsSubmitBody) MarshalJSON() ([]byte, error)

func (*PinpageJobsSubmitBody) UnmarshalJSON

func (v *PinpageJobsSubmitBody) UnmarshalJSON(data []byte) error

type PinpageJobsSubmitParams

type PinpageJobsSubmitParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *PinpageJobsSubmitBody
}

type PinpageMaterialsDeleteMaterialParams

type PinpageMaterialsDeleteMaterialParams struct {
	// MaterialId Required. Unbound material whose access is revoked.
	MaterialId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
}

type PinpageMaterialsGetMaterialParams

type PinpageMaterialsGetMaterialParams struct {
	// MaterialId Required. Opaque material identifier.
	MaterialId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpageMaterialsService

type PinpageMaterialsService struct {
	// contains filtered or unexported fields
}

func (*PinpageMaterialsService) DeleteMaterial

DeleteMaterial DeleteMaterial

Revoke access to one unbound material and schedule cleanup.

material_id: Required. Unbound material whose access is revoked.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

func (*PinpageMaterialsService) GetMaterial

GetMaterial GetMaterial

Return one user-owned material's validation and parsing fact.

material_id: Required. Opaque material identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

type PinpagePagesDeletePageParams

type PinpagePagesDeletePageParams struct {
	// PageId Required. Page to revoke and delete.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// ExpectedContentRevision Required. Content revision returned by the adjacent preview.
	ExpectedContentRevision string
	// ImpactFingerprint Required. Exact impact fingerprint returned by the adjacent preview.
	ImpactFingerprint string
	// PageEtag Optional. Exact representation validator requested by the client.
	PageEtag runtime.Optional[string]
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	// XPinPageDeletionConfirmation Required short-lived deletion capability returned by the matching PinPage deletion preview operation.
	XPinPageDeletionConfirmation string
}

type PinpagePagesGetPageParams

type PinpagePagesGetPageParams struct {
	// PageId Required. Opaque page identifier.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpagePagesListPagesParams

type PinpagePagesListPagesParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// CategoryId Optional. Restrict results to one direct category.
	CategoryId runtime.Optional[string]
	// OrderBy Optional. created_at desc (default) or created_at asc.
	OrderBy   runtime.Optional[string]
	PageSize  runtime.Optional[int64]
	PageToken runtime.Optional[string]
}

type PinpagePagesPreviewPageDeletionParams

type PinpagePagesPreviewPageDeletionParams struct {
	// PageId Required. Page whose exact deletion impact is requested.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpagePagesRegeneratePageBody

type PinpagePagesRegeneratePageBody struct {
	// ConfirmedAuthorizedMaxCredit (OPTIONAL) Deprecated. Legacy user-authorized maximum charge.
	ConfirmedAuthorizedMaxCredit runtime.Optional[string] `json:"confirmedAuthorizedMaxCredit"`
	// EstimateId (OPTIONAL) Deprecated. Legacy REGENERATE_PAGE estimate bound to page_id.
	EstimateId runtime.Optional[string] `json:"estimateId"`
	// InputFingerprint (OPTIONAL) Deprecated. Legacy fingerprint from the durable estimate.
	InputFingerprint runtime.Optional[string] `json:"inputFingerprint"`
	// Instruction (OPTIONAL) Required for the direct flow. Complete modification requirement. Vertex
	//  owns LLM quota admission and charging behind the PinPage boundary.
	Instruction runtime.Optional[string] `json:"instruction"`
	// UiLocale (OPTIONAL) Optional. Actual UI locale; valid Accept-Language takes precedence.
	UiLocale runtime.Optional[string] `json:"uiLocale"`
}

func (PinpagePagesRegeneratePageBody) MarshalJSON

func (v PinpagePagesRegeneratePageBody) MarshalJSON() ([]byte, error)

func (*PinpagePagesRegeneratePageBody) UnmarshalJSON

func (v *PinpagePagesRegeneratePageBody) UnmarshalJSON(data []byte) error

type PinpagePagesRegeneratePageParams

type PinpagePagesRegeneratePageParams struct {
	// PageId Required. Existing page to regenerate.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *PinpagePagesRegeneratePageBody
}

type PinpagePagesRenamePageBody

type PinpagePagesRenamePageBody struct {
	// ExpectedTitleRevision Required. Title revision from GetGenerationProgress; rejects stale edits.
	ExpectedTitleRevision string `json:"expectedTitleRevision"`
	// Title Required. Desired display title.
	Title string `json:"title"`
}

func (PinpagePagesRenamePageBody) MarshalJSON

func (v PinpagePagesRenamePageBody) MarshalJSON() ([]byte, error)

func (*PinpagePagesRenamePageBody) UnmarshalJSON

func (v *PinpagePagesRenamePageBody) UnmarshalJSON(data []byte) error

type PinpagePagesRenamePageParams

type PinpagePagesRenamePageParams struct {
	// PageId Required. Owned page identifier.
	PageId string
	// UserId Required. Authenticated owner or me.
	UserId string
	Body   *PinpagePagesRenamePageBody
}

type PinpagePagesService

type PinpagePagesService struct {
	// contains filtered or unexported fields
}

func (*PinpagePagesService) DeletePage

DeletePage DeletePage

Revoke page access and accept its exact content scope for cleanup.

page_id: Required. Page to revoke and delete.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

expectedContentRevision: Required. Content revision returned by the adjacent preview.

impactFingerprint: Required. Exact impact fingerprint returned by the adjacent preview.

pageEtag: Optional. Exact representation validator requested by the client.

X-Idempotency-Key: Required opaque idempotency key for this operation.

X-PinPage-Deletion-Confirmation: Required short-lived deletion capability returned by the matching PinPage deletion preview operation.

func (*PinpagePagesService) GetPage

GetPage GetPage

Return one authoritative page without embedding version HTML.

page_id: Required. Opaque page identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

func (*PinpagePagesService) ListPages

ListPages ListPages

List the user's recent pages or pages directly assigned to one category.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

categoryId: Optional. Restrict results to one direct category.

orderBy: Optional. created_at desc (default) or created_at asc.

func (*PinpagePagesService) ListPagesAll

func (*PinpagePagesService) PreviewPageDeletion

PreviewPageDeletion PreviewPageDeletion

Produce a signed, short-lived exact deletion-impact snapshot.

page_id: Required. Page whose exact deletion impact is requested.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

func (*PinpagePagesService) RegeneratePage

RegeneratePage RegeneratePage

Consume a REGENERATE_PAGE estimate and create a new logical job.

page_id: Required. Existing page to regenerate.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

func (*PinpagePagesService) RenamePage

RenamePage RenamePage

Save a user display name without regenerating immutable artifacts.

page_id: Required. Owned page identifier.

user_id: Required. Authenticated owner or me.

type PinpagePromptGetPagePromptParams

type PinpagePromptGetPagePromptParams struct {
	PageId           string
	UserId           string
	PromptRevisionId runtime.Optional[string]
}

type PinpagePromptService

type PinpagePromptService struct {
	// contains filtered or unexported fields
}

func (*PinpagePromptService) GetPagePrompt

GetPagePrompt GetPagePrompt

Read private requirements for an owned page; never includes system prompts.

type PinpageStorageProtectionGetStorageProtectionParams

type PinpageStorageProtectionGetStorageProtectionParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpageStorageProtectionService

type PinpageStorageProtectionService struct {
	// contains filtered or unexported fields
}

func (*PinpageStorageProtectionService) GetStorageProtection

GetStorageProtection GetStorageProtection

Return the user's authoritative hosted-content protection state.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

type PinpageUploadsAbortUploadParams

type PinpageUploadsAbortUploadParams struct {
	// UploadId Required. Unfinished upload session to abort.
	UploadId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
}

type PinpageUploadsCompleteUploadParams

type PinpageUploadsCompleteUploadParams struct {
	// UploadId Required. OPEN or idempotently completed upload identifier.
	UploadId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
}

type PinpageUploadsCreateUploadBody

type PinpageUploadsCreateUploadBody struct {
	// ConfirmedAuthorizedMaxCredit Required. Exact parent-estimate maximum net charge confirmed by the user.
	ConfirmedAuthorizedMaxCredit string `json:"confirmedAuthorizedMaxCredit"`
	// EstimateItemId Required. Available item in an unexpired upload estimate.
	EstimateItemId string `json:"estimateItemId"`
}

func (PinpageUploadsCreateUploadBody) MarshalJSON

func (v PinpageUploadsCreateUploadBody) MarshalJSON() ([]byte, error)

func (*PinpageUploadsCreateUploadBody) UnmarshalJSON

func (v *PinpageUploadsCreateUploadBody) UnmarshalJSON(data []byte) error

type PinpageUploadsCreateUploadParams

type PinpageUploadsCreateUploadParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *PinpageUploadsCreateUploadBody
}

type PinpageUploadsEstimateBody

type PinpageUploadsEstimateBody struct {
	// Files Required. One to ten declarations with at most 200 MB in aggregate.
	Files []*UploadEstimateDeclaration `json:"files"`
}

func (PinpageUploadsEstimateBody) MarshalJSON

func (v PinpageUploadsEstimateBody) MarshalJSON() ([]byte, error)

func (*PinpageUploadsEstimateBody) UnmarshalJSON

func (v *PinpageUploadsEstimateBody) UnmarshalJSON(data []byte) error

type PinpageUploadsEstimateParams

type PinpageUploadsEstimateParams struct {
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	Body   *PinpageUploadsEstimateBody
}

type PinpageUploadsGetUploadParams

type PinpageUploadsGetUploadParams struct {
	// UploadId Required. Opaque PinPage upload identifier.
	UploadId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PinpageUploadsService

type PinpageUploadsService struct {
	// contains filtered or unexported fields
}

func (*PinpageUploadsService) AbortUpload

AbortUpload AbortUpload

Abort an unfinished multipart session without creating a material.

upload_id: Required. Unfinished upload session to abort.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

func (*PinpageUploadsService) CompleteUpload

CompleteUpload CompleteUpload

Complete and verify multipart content, then create a material on success.

upload_id: Required. OPEN or idempotently completed upload identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

func (*PinpageUploadsService) CreateUpload

CreateUpload CreateUpload

Consume one estimate item and create a durable multipart session.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

X-Idempotency-Key: Required opaque idempotency key for this operation.

func (*PinpageUploadsService) Estimate

Estimate EstimateUpload

Create a durable file-service estimate before reserving or signing work.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

func (*PinpageUploadsService) GetUpload

GetUpload GetUpload

Return and reconcile one durable multipart session.

upload_id: Required. Opaque PinPage upload identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

func (*PinpageUploadsService) SignUploadParts

SignUploadParts SignUploadParts

Sign short-lived PUT capabilities for explicitly requested parts.

upload_id: Required. OPEN upload session identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

type PinpageUploadsSignUploadPartsBody

type PinpageUploadsSignUploadPartsBody struct {
	// PartNumbers Required. One to one hundred unique numbers within the session part plan.
	PartNumbers []int64 `json:"partNumbers"`
}

func (PinpageUploadsSignUploadPartsBody) MarshalJSON

func (v PinpageUploadsSignUploadPartsBody) MarshalJSON() ([]byte, error)

func (*PinpageUploadsSignUploadPartsBody) UnmarshalJSON

func (v *PinpageUploadsSignUploadPartsBody) UnmarshalJSON(data []byte) error

type PinpageUploadsSignUploadPartsParams

type PinpageUploadsSignUploadPartsParams struct {
	// UploadId Required. OPEN upload session identifier.
	UploadId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	Body   *PinpageUploadsSignUploadPartsBody
}

type Platform

type Platform string

Platform Platform indicates the target publishing platform.

新增平台时,在此枚举追加值,并在 publish.proto 中添加对应的 XxxConfig 消息。
const (
	PlatformPLATFORMUNSPECIFIED Platform = "PLATFORM_UNSPECIFIED"
	PlatformPLATFORMWECHATMP    Platform = "PLATFORM_WECHAT_MP"
	PlatformPLATFORMZHIHU       Platform = "PLATFORM_ZHIHU"
	PlatformPLATFORMTOUTIAO     Platform = "PLATFORM_TOUTIAO"
	PlatformPLATFORMYUQUE       Platform = "PLATFORM_YUQUE"
)

func (Platform) MarshalJSON

func (v Platform) MarshalJSON() ([]byte, error)

func (*Platform) UnmarshalJSON

func (v *Platform) UnmarshalJSON(data []byte) error

type PlatformAccount

type PlatformAccount struct {
	// AccountId 账号绑定记录唯一标识。
	AccountId runtime.Optional[string] `json:"account_id"`
	// AuthorizedAt OAuth 授权时间。
	AuthorizedAt runtime.Optional[Timestamp] `json:"authorized_at"`
	// DisplayName 平台账号显示名称(如公众号名称、知乎用户名)。
	DisplayName runtime.Optional[string] `json:"display_name"`
	// ExpiresAt 授权过期时间,过期后需重新授权。
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	// IsActive 账号是否可用(授权未过期且未被解绑)。
	IsActive runtime.Optional[bool] `json:"is_active"`
	// Platform 绑定的平台。
	Platform runtime.Optional[Platform] `json:"platform"`
}

PlatformAccount PlatformAccount stores the binding info for a publishing platform account.

用户通过 OAuth 授权绑定平台账号后,后续发布操作使用该账号的凭据。

func (PlatformAccount) MarshalJSON

func (v PlatformAccount) MarshalJSON() ([]byte, error)

func (*PlatformAccount) UnmarshalJSON

func (v *PlatformAccount) UnmarshalJSON(data []byte) error

type PlatformConfig

type PlatformConfig = any

PlatformConfig PlatformConfig 封装各平台的发布配置。

使用 oneof 确保每次发布只携带一个平台的配置。

type Preset

type Preset struct {
	// Config 自定义配置,JSON 格式存储。
	Config runtime.Optional[string] `json:"config"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// Name 预设显示名称。
	Name runtime.Optional[string] `json:"name"`
	// PresetId 预设唯一标识。
	PresetId runtime.Optional[string] `json:"preset_id"`
	// TemplateId 基于的系统模板 ID。
	TemplateId runtime.Optional[string] `json:"template_id"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

Preset Preset 用户自定义排版预设,基于系统模板微调。

func (Preset) MarshalJSON

func (v Preset) MarshalJSON() ([]byte, error)

func (*Preset) UnmarshalJSON

func (v *Preset) UnmarshalJSON(data []byte) error

type PreviewCategoryDeletionRequest

type PreviewCategoryDeletionRequest struct {
	// CategoryId Required. Root category whose exact subtree impact is requested.
	CategoryId string `json:"category_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (PreviewCategoryDeletionRequest) MarshalJSON

func (v PreviewCategoryDeletionRequest) MarshalJSON() ([]byte, error)

func (*PreviewCategoryDeletionRequest) UnmarshalJSON

func (v *PreviewCategoryDeletionRequest) UnmarshalJSON(data []byte) error

type PreviewCategoryDeletionResponse

type PreviewCategoryDeletionResponse struct {
	// DeletionPreview Required. Signed, short-lived exact category and page impact snapshot.
	DeletionPreview *CategoryDeletionPreview `json:"deletion_preview"`
}

func (PreviewCategoryDeletionResponse) MarshalJSON

func (v PreviewCategoryDeletionResponse) MarshalJSON() ([]byte, error)

func (*PreviewCategoryDeletionResponse) UnmarshalJSON

func (v *PreviewCategoryDeletionResponse) UnmarshalJSON(data []byte) error

type PreviewCategoryOrganizationRequest

type PreviewCategoryOrganizationRequest struct {
	// ConfirmedAuthorizedMaxCredit Required. Exact maximum user net charge confirmed by the user.
	ConfirmedAuthorizedMaxCredit string `json:"confirmed_authorized_max_credit"`
	// ConfirmedEstimatedAiCredit Required. Public AI estimate confirmed by the user.
	ConfirmedEstimatedAiCredit string `json:"confirmed_estimated_ai_credit"`
	// EstimateId Required. Active estimate whose tree snapshot still matches.
	EstimateId string `json:"estimate_id"`
	// InputFingerprint Required. Exact frozen instruction, scope, and tree fingerprint.
	InputFingerprint string `json:"input_fingerprint"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (PreviewCategoryOrganizationRequest) MarshalJSON

func (v PreviewCategoryOrganizationRequest) MarshalJSON() ([]byte, error)

func (*PreviewCategoryOrganizationRequest) UnmarshalJSON

func (v *PreviewCategoryOrganizationRequest) UnmarshalJSON(data []byte) error

type PreviewCategoryOrganizationResponse

type PreviewCategoryOrganizationResponse struct {
	// OrganizationJob Required. Newly accepted asynchronous organization job.
	OrganizationJob *CategoryOrganizationJob `json:"organization_job"`
}

func (PreviewCategoryOrganizationResponse) MarshalJSON

func (v PreviewCategoryOrganizationResponse) MarshalJSON() ([]byte, error)

func (*PreviewCategoryOrganizationResponse) UnmarshalJSON

func (v *PreviewCategoryOrganizationResponse) UnmarshalJSON(data []byte) error

type PreviewGetCategoryOrganizationPreviewParams

type PreviewGetCategoryOrganizationPreviewParams struct {
	// OrganizationJobId Required. Successful organization job identifier.
	OrganizationJobId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
}

type PreviewPageDeletionRequest

type PreviewPageDeletionRequest struct {
	// PageId Required. Page whose exact deletion impact is requested.
	PageId string `json:"page_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (PreviewPageDeletionRequest) MarshalJSON

func (v PreviewPageDeletionRequest) MarshalJSON() ([]byte, error)

func (*PreviewPageDeletionRequest) UnmarshalJSON

func (v *PreviewPageDeletionRequest) UnmarshalJSON(data []byte) error

type PreviewPageDeletionResponse

type PreviewPageDeletionResponse struct {
	// DeletionPreview Required. Signed, short-lived exact impact snapshot.
	DeletionPreview *PageDeletionPreview `json:"deletion_preview"`
}

func (PreviewPageDeletionResponse) MarshalJSON

func (v PreviewPageDeletionResponse) MarshalJSON() ([]byte, error)

func (*PreviewPageDeletionResponse) UnmarshalJSON

func (v *PreviewPageDeletionResponse) UnmarshalJSON(data []byte) error

type PreviewService

type PreviewService struct {
	// contains filtered or unexported fields
}

func (*PreviewService) GetCategoryOrganizationPreview

GetCategoryOrganizationPreview GetCategoryOrganizationPreview

Return the durable settled preview produced by a successful job.

organization_job_id: Required. Successful organization job identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

type ProgressGetGenerationProgressParams

type ProgressGetGenerationProgressParams struct {
	JobId  string
	UserId string
	// AfterEventSeq Optional. after event seq.
	AfterEventSeq runtime.Optional[string]
	// PageSize Optional. page size.
	PageSize runtime.Optional[int64]
	// PageToken Optional. page token.
	PageToken runtime.Optional[string]
	// UiLocale Optional. ui locale.
	UiLocale runtime.Optional[string]
}

type ProgressMessage

type ProgressMessage struct {
	// Arguments (OPTIONAL) Optional. arguments.
	Arguments runtime.Optional[map[string]string] `json:"arguments"`
	// DefaultMessage Required. default message.
	DefaultMessage string `json:"default_message"`
	// DefaultMessageLocale Required. default message locale.
	DefaultMessageLocale string `json:"default_message_locale"`
	// DynamicLocale (OPTIONAL) Optional. dynamic locale.
	DynamicLocale runtime.Optional[string] `json:"dynamic_locale"`
	// MessageCode Required. message code.
	MessageCode string `json:"message_code"`
}

func (ProgressMessage) MarshalJSON

func (v ProgressMessage) MarshalJSON() ([]byte, error)

func (*ProgressMessage) UnmarshalJSON

func (v *ProgressMessage) UnmarshalJSON(data []byte) error

type ProgressMessageArgumentsEntry

type ProgressMessageArgumentsEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (ProgressMessageArgumentsEntry) MarshalJSON

func (v ProgressMessageArgumentsEntry) MarshalJSON() ([]byte, error)

func (*ProgressMessageArgumentsEntry) UnmarshalJSON

func (v *ProgressMessageArgumentsEntry) UnmarshalJSON(data []byte) error

type ProgressService

type ProgressService struct {
	// contains filtered or unexported fields
}

func (*ProgressService) GetGenerationProgress

GetGenerationProgress GetGenerationProgress

Read current state and immutable history without triggering recovery.

afterEventSeq: Optional. after event seq.

pageSize: Optional. page size.

pageToken: Optional. page token.

uiLocale: Optional. ui locale.

type Project

type Project struct {
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// Description 项目描述。
	Description runtime.Optional[string] `json:"description"`
	// Metadata 扩展元数据,用于存储业务自定义信息,避免频繁变更表结构。
	Metadata runtime.Optional[map[string]string] `json:"metadata"`
	// Name 项目名称。
	Name runtime.Optional[string] `json:"name"`
	// ProjectId 项目唯一标识。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// Status 项目状态。
	Status runtime.Optional[ProjectStatus] `json:"status"`
	// Tags 项目标签。
	Tags runtime.Optional[[]string] `json:"tags"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

Project Project groups related creative content together.

Project 是创作的顶层聚合单元,一个项目包含多篇文章、多个视频任务和多个素材。
典型场景:一次营销活动、一个专题系列、一期内容排期。

func (Project) MarshalJSON

func (v Project) MarshalJSON() ([]byte, error)

func (*Project) UnmarshalJSON

func (v *Project) UnmarshalJSON(data []byte) error

type ProjectMetadataEntry

type ProjectMetadataEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (ProjectMetadataEntry) MarshalJSON

func (v ProjectMetadataEntry) MarshalJSON() ([]byte, error)

func (*ProjectMetadataEntry) UnmarshalJSON

func (v *ProjectMetadataEntry) UnmarshalJSON(data []byte) error

type ProjectStatus

type ProjectStatus string

ProjectStatus ProjectStatus indicates the lifecycle state of a creative project.

状态流转: DRAFT → IN_PROGRESS → COMPLETED → ARCHIVED
const (
	ProjectStatusPROJECTSTATUSUNSPECIFIED ProjectStatus = "PROJECT_STATUS_UNSPECIFIED"
	ProjectStatusPROJECTSTATUSDRAFT       ProjectStatus = "PROJECT_STATUS_DRAFT"
	ProjectStatusPROJECTSTATUSINPROGRESS  ProjectStatus = "PROJECT_STATUS_IN_PROGRESS"
	ProjectStatusPROJECTSTATUSCOMPLETED   ProjectStatus = "PROJECT_STATUS_COMPLETED"
	ProjectStatusPROJECTSTATUSARCHIVED    ProjectStatus = "PROJECT_STATUS_ARCHIVED"
)

func (ProjectStatus) MarshalJSON

func (v ProjectStatus) MarshalJSON() ([]byte, error)

func (*ProjectStatus) UnmarshalJSON

func (v *ProjectStatus) UnmarshalJSON(data []byte) error

type PublishArticleRequest

type PublishArticleRequest struct {
	// AccountId 使用哪个已绑定的平台账号发布。
	AccountId runtime.Optional[string] `json:"account_id"`
	// ArticleId 要发布的文章 ID。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// Platform 目标平台。
	Platform runtime.Optional[Platform] `json:"platform"`
	// PlatformConfig 平台特有的发布配置。
	PlatformConfig runtime.Optional[PlatformConfig] `json:"platform_config"`
}

PublishArticleRequest PublishArticleRequest 将一篇文章发布到指定平台。

func (PublishArticleRequest) MarshalJSON

func (v PublishArticleRequest) MarshalJSON() ([]byte, error)

func (*PublishArticleRequest) UnmarshalJSON

func (v *PublishArticleRequest) UnmarshalJSON(data []byte) error

type PublishArticleResponse

type PublishArticleResponse struct {
	// Record 本次发布的记录,可通过 record_id 追踪后续状态。
	Record runtime.Optional[*PublishRecord] `json:"record"`
}

func (PublishArticleResponse) MarshalJSON

func (v PublishArticleResponse) MarshalJSON() ([]byte, error)

func (*PublishArticleResponse) UnmarshalJSON

func (v *PublishArticleResponse) UnmarshalJSON(data []byte) error

type PublishRecord

type PublishRecord struct {
	// ArticleId 关联的文章 ID。
	ArticleId runtime.Optional[string] `json:"article_id"`
	// ErrorMessage 发布失败原因。
	ErrorMessage runtime.Optional[string] `json:"error_message"`
	// Platform 目标发布平台。
	Platform runtime.Optional[Platform] `json:"platform"`
	// PlatformUrl 发布成功后的文章链接(平台侧 URL)。
	PlatformUrl runtime.Optional[string] `json:"platform_url"`
	// PublishedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	PublishedAt runtime.Optional[Timestamp] `json:"published_at"`
	// RecordId 发布记录唯一标识。
	RecordId runtime.Optional[string] `json:"record_id"`
	// Status 发布状态。
	Status runtime.Optional[PublishStatus] `json:"status"`
}

PublishRecord PublishRecord records a single publish attempt to a platform.

每次发布操作(无论成功或失败)都会产生一条记录,支持追溯和重试。

func (PublishRecord) MarshalJSON

func (v PublishRecord) MarshalJSON() ([]byte, error)

func (*PublishRecord) UnmarshalJSON

func (v *PublishRecord) UnmarshalJSON(data []byte) error

type PublishStatus

type PublishStatus string

PublishStatus PublishStatus indicates the lifecycle state of a publish operation.

状态流转: PENDING → PROCESSING → SUCCESS / FAILED
const (
	PublishStatusPUBLISHSTATUSUNSPECIFIED PublishStatus = "PUBLISH_STATUS_UNSPECIFIED"
	PublishStatusPUBLISHSTATUSPENDING     PublishStatus = "PUBLISH_STATUS_PENDING"
	PublishStatusPUBLISHSTATUSPROCESSING  PublishStatus = "PUBLISH_STATUS_PROCESSING"
	PublishStatusPUBLISHSTATUSSUCCESS     PublishStatus = "PUBLISH_STATUS_SUCCESS"
	PublishStatusPUBLISHSTATUSFAILED      PublishStatus = "PUBLISH_STATUS_FAILED"
)

func (PublishStatus) MarshalJSON

func (v PublishStatus) MarshalJSON() ([]byte, error)

func (*PublishStatus) UnmarshalJSON

func (v *PublishStatus) UnmarshalJSON(data []byte) error

type PublishToWechatMpRequest

type PublishToWechatMpRequest struct {
	// Author 文章作者。
	Author runtime.Optional[string] `json:"author"`
	// CachedArticles 客户端缓存的已发布文章(往期推荐功能的回退数据源)。
	CachedArticles runtime.Optional[[]*PublishedArticleInfo] `json:"cached_articles"`
	// Content Markdown 或 HTML 正文内容(必填)。
	Content runtime.Optional[string] `json:"content"`
	// ContentFormat 正文格式。未指定时按 Markdown 处理,以兼容旧客户端。
	ContentFormat runtime.Optional[ContentFormat] `json:"content_format"`
	// ContentSourceUrl 原文链接 URL。
	ContentSourceUrl runtime.Optional[string] `json:"content_source_url"`
	// CoverUrl 封面图 URL,将自动上传为微信 thumb 素材。
	CoverUrl runtime.Optional[string] `json:"cover_url"`
	// Debug 是否返回调试日志。
	Debug runtime.Optional[bool] `json:"debug"`
	// Digest 文章摘要,未填写时微信默认截取正文前 120 字。
	Digest runtime.Optional[string] `json:"digest"`
	// ImageMap 正文中的图片映射:本地路径/标识 → 已上传的微信图片 URL。
	ImageMap runtime.Optional[map[string]string] `json:"image_map"`
	// NeedOpenComment 是否开启评论功能。
	NeedOpenComment runtime.Optional[bool] `json:"need_open_comment"`
	// ShowCoverPic 是否在正文中显示封面图。
	ShowCoverPic runtime.Optional[bool] `json:"show_cover_pic"`
	// Target 发布目标:草稿或群发。
	Target runtime.Optional[PublishToWechatMpTarget] `json:"target"`
	// TemplateId 排版模板/主题 ID。
	TemplateId runtime.Optional[string] `json:"template_id"`
	// Title 文章标题(必填)。
	Title runtime.Optional[string] `json:"title"`
	// WechatMpCredentials 微信公众号 API 调用凭证(必填)。
	//  详见 WechatMpCredentials 设计说明(types.proto)。
	WechatMpCredentials runtime.Optional[*WechatMpCredentials] `json:"wechat_mp_credentials"`
}

PublishToWechatMpRequest PublishToWechatMpRequest 一站式发布 Markdown 或 HTML 内容到微信公众号。

流程:按格式预处理正文 → 封面上传 → 创建/更新草稿 → 可选群发。

func (PublishToWechatMpRequest) MarshalJSON

func (v PublishToWechatMpRequest) MarshalJSON() ([]byte, error)

func (*PublishToWechatMpRequest) UnmarshalJSON

func (v *PublishToWechatMpRequest) UnmarshalJSON(data []byte) error

type PublishToWechatMpRequestImageMapEntry

type PublishToWechatMpRequestImageMapEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (PublishToWechatMpRequestImageMapEntry) MarshalJSON

func (v PublishToWechatMpRequestImageMapEntry) MarshalJSON() ([]byte, error)

func (*PublishToWechatMpRequestImageMapEntry) UnmarshalJSON

func (v *PublishToWechatMpRequestImageMapEntry) UnmarshalJSON(data []byte) error

type PublishToWechatMpResponse

type PublishToWechatMpResponse struct {
	// DebugLogs 调试日志(debug=true 时返回)。
	DebugLogs runtime.Optional[[]string] `json:"debug_logs"`
	// MediaId 草稿的 media_id。
	MediaId runtime.Optional[string] `json:"media_id"`
	// Message 结果描述信息。
	Message runtime.Optional[string] `json:"message"`
	// Ok 操作是否成功。
	Ok runtime.Optional[bool] `json:"ok"`
	// PublishedArticles 拉取到的已发布文章列表(供客户端缓存)。
	PublishedArticles runtime.Optional[[]*PublishedArticleInfo] `json:"published_articles"`
}

PublishToWechatMpResponse PublishToWechatMpResponse 发布结果。

func (PublishToWechatMpResponse) MarshalJSON

func (v PublishToWechatMpResponse) MarshalJSON() ([]byte, error)

func (*PublishToWechatMpResponse) UnmarshalJSON

func (v *PublishToWechatMpResponse) UnmarshalJSON(data []byte) error

type PublishToWechatMpTarget

type PublishToWechatMpTarget string

PublishToWechatMpTarget PublishToWechatMpTarget 发布目标。

const (
	PublishToWechatMpTargetPUBLISHTOWECHATMPTARGETUNSPECIFIED PublishToWechatMpTarget = "PUBLISH_TO_WECHAT_MP_TARGET_UNSPECIFIED"
	PublishToWechatMpTargetPUBLISHTOWECHATMPTARGETDRAFT       PublishToWechatMpTarget = "PUBLISH_TO_WECHAT_MP_TARGET_DRAFT"
	PublishToWechatMpTargetPUBLISHTOWECHATMPTARGETSEND        PublishToWechatMpTarget = "PUBLISH_TO_WECHAT_MP_TARGET_SEND"
)

func (PublishToWechatMpTarget) MarshalJSON

func (v PublishToWechatMpTarget) MarshalJSON() ([]byte, error)

func (*PublishToWechatMpTarget) UnmarshalJSON

func (v *PublishToWechatMpTarget) UnmarshalJSON(data []byte) error

type PublishedArticleInfo

type PublishedArticleInfo struct {
	// Category 文章分类(例如 "千万 QPS 架构系列 · 网络架构篇 · IP与路由")。
	Category runtime.Optional[string] `json:"category"`
	// PublishTime 发布时间(Unix 时间戳,秒)。
	PublishTime runtime.Optional[string] `json:"publish_time"`
	// Title 文章标题。
	Title runtime.Optional[string] `json:"title"`
	// Url 文章链接。
	Url runtime.Optional[string] `json:"url"`
}

PublishedArticleInfo PublishedArticleInfo 已发布文章信息。

func (PublishedArticleInfo) MarshalJSON

func (v PublishedArticleInfo) MarshalJSON() ([]byte, error)

func (*PublishedArticleInfo) UnmarshalJSON

func (v *PublishedArticleInfo) UnmarshalJSON(data []byte) error

type RateLimitExceededError

type RateLimitExceededError = runtime.RateLimitExceededError

type RefreshTokenRequest

type RefreshTokenRequest struct {
	RefreshToken runtime.Optional[string] `json:"refresh_token"`
}

func (RefreshTokenRequest) MarshalJSON

func (v RefreshTokenRequest) MarshalJSON() ([]byte, error)

func (*RefreshTokenRequest) UnmarshalJSON

func (v *RefreshTokenRequest) UnmarshalJSON(data []byte) error

type RefreshTokenResponse

type RefreshTokenResponse struct {
	AccessToken  runtime.Optional[string] `json:"access_token"`
	ExpiresIn    runtime.Optional[int64]  `json:"expires_in"`
	RefreshToken runtime.Optional[string] `json:"refresh_token"`
	UserId       runtime.Optional[string] `json:"user_id"`
}

func (RefreshTokenResponse) MarshalJSON

func (v RefreshTokenResponse) MarshalJSON() ([]byte, error)

func (*RefreshTokenResponse) UnmarshalJSON

func (v *RefreshTokenResponse) UnmarshalJSON(data []byte) error

type RegenerateAPIKeyRequest

type RegenerateAPIKeyRequest struct {
	KeyId runtime.Optional[string] `json:"key_id"`
}

func (RegenerateAPIKeyRequest) MarshalJSON

func (v RegenerateAPIKeyRequest) MarshalJSON() ([]byte, error)

func (*RegenerateAPIKeyRequest) UnmarshalJSON

func (v *RegenerateAPIKeyRequest) UnmarshalJSON(data []byte) error

type RegenerateAPIKeyResponse

type RegenerateAPIKeyResponse struct {
	// ApiKey APIKey represents a developer's API key credential.
	ApiKey runtime.Optional[*APIKey] `json:"api_key"`
	// Key New key in plaintext; old key is immediately invalidated
	Key runtime.Optional[string] `json:"key"`
}

func (RegenerateAPIKeyResponse) MarshalJSON

func (v RegenerateAPIKeyResponse) MarshalJSON() ([]byte, error)

func (*RegenerateAPIKeyResponse) UnmarshalJSON

func (v *RegenerateAPIKeyResponse) UnmarshalJSON(data []byte) error

type RegeneratePageRequest

type RegeneratePageRequest struct {
	// ConfirmedAuthorizedMaxCredit (OPTIONAL) Deprecated. Legacy user-authorized maximum charge.
	ConfirmedAuthorizedMaxCredit runtime.Optional[string] `json:"confirmed_authorized_max_credit"`
	// EstimateId (OPTIONAL) Deprecated. Legacy REGENERATE_PAGE estimate bound to page_id.
	EstimateId runtime.Optional[string] `json:"estimate_id"`
	// InputFingerprint (OPTIONAL) Deprecated. Legacy fingerprint from the durable estimate.
	InputFingerprint runtime.Optional[string] `json:"input_fingerprint"`
	// Instruction (OPTIONAL) Required for the direct flow. Complete modification requirement. Vertex
	//  owns LLM quota admission and charging behind the PinPage boundary.
	Instruction runtime.Optional[string] `json:"instruction"`
	// PageId Required. Existing page to regenerate.
	PageId string `json:"page_id"`
	// UiLocale (OPTIONAL) Optional. Actual UI locale; valid Accept-Language takes precedence.
	UiLocale runtime.Optional[string] `json:"ui_locale"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (RegeneratePageRequest) MarshalJSON

func (v RegeneratePageRequest) MarshalJSON() ([]byte, error)

func (*RegeneratePageRequest) UnmarshalJSON

func (v *RegeneratePageRequest) UnmarshalJSON(data []byte) error

type RegeneratePageResponse

type RegeneratePageResponse struct {
	// Job Required. Newly created regeneration job.
	Job *JobSummary `json:"job"`
	// Page Required. Current page; its version pointer is not changed early.
	Page *Page `json:"page"`
}

func (RegeneratePageResponse) MarshalJSON

func (v RegeneratePageResponse) MarshalJSON() ([]byte, error)

func (*RegeneratePageResponse) UnmarshalJSON

func (v *RegeneratePageResponse) UnmarshalJSON(data []byte) error

type RegisterRequest

type RegisterRequest struct {
	// Code verification code
	Code runtime.Optional[string] `json:"code"`
	// CodeVerifier PKCE verifier
	CodeVerifier runtime.Optional[string] `json:"code_verifier"`
	Email        runtime.Optional[string] `json:"email"`
	// PasswordHash SHA256 hash from client
	PasswordHash runtime.Optional[string] `json:"password_hash"`
	Phone        runtime.Optional[string] `json:"phone"`
	Txid         runtime.Optional[string] `json:"txid"`
}

func (RegisterRequest) MarshalJSON

func (v RegisterRequest) MarshalJSON() ([]byte, error)

func (*RegisterRequest) UnmarshalJSON

func (v *RegisterRequest) UnmarshalJSON(data []byte) error

type RegisterResponse

type RegisterResponse struct {
	CsrfToken runtime.Optional[string] `json:"csrf_token"`
	Email     runtime.Optional[string] `json:"email"`
	Name      runtime.Optional[string] `json:"name"`
	Phone     runtime.Optional[string] `json:"phone"`
	SessionId runtime.Optional[string] `json:"session_id"`
	// Tokens 注册后自动创建的 session(与 LoginResponse 一致)
	Tokens runtime.Optional[*TokenPair] `json:"tokens"`
}

func (RegisterResponse) MarshalJSON

func (v RegisterResponse) MarshalJSON() ([]byte, error)

func (*RegisterResponse) UnmarshalJSON

func (v *RegisterResponse) UnmarshalJSON(data []byte) error

type RemoveMemberRequest

type RemoveMemberRequest struct {
	OrgId  runtime.Optional[string] `json:"org_id"`
	UserId runtime.Optional[string] `json:"user_id"`
}

func (RemoveMemberRequest) MarshalJSON

func (v RemoveMemberRequest) MarshalJSON() ([]byte, error)

func (*RemoveMemberRequest) UnmarshalJSON

func (v *RemoveMemberRequest) UnmarshalJSON(data []byte) error

type RemoveMemberResponse

type RemoveMemberResponse = any

type RenamePageRequest

type RenamePageRequest struct {
	// ExpectedTitleRevision Required. Title revision from GetGenerationProgress; rejects stale edits.
	ExpectedTitleRevision string `json:"expected_title_revision"`
	// PageId Required. Owned page identifier.
	PageId string `json:"page_id"`
	// Title Required. Desired display title.
	Title string `json:"title"`
	// UserId Required. Authenticated owner or me.
	UserId string `json:"user_id"`
}

func (RenamePageRequest) MarshalJSON

func (v RenamePageRequest) MarshalJSON() ([]byte, error)

func (*RenamePageRequest) UnmarshalJSON

func (v *RenamePageRequest) UnmarshalJSON(data []byte) error

type RenamePageResponse

type RenamePageResponse struct {
	// Page Required. Current page after the name was saved.
	Page *Page `json:"page"`
}

func (RenamePageResponse) MarshalJSON

func (v RenamePageResponse) MarshalJSON() ([]byte, error)

func (*RenamePageResponse) UnmarshalJSON

func (v *RenamePageResponse) UnmarshalJSON(data []byte) error

type RequestPasswordResetRequest

type RequestPasswordResetRequest struct {
	Target runtime.Optional[string] `json:"target"`
	// Type VerificationType indicates the channel for verification code delivery.
	Type runtime.Optional[VerificationType] `json:"type"`
}

func (RequestPasswordResetRequest) MarshalJSON

func (v RequestPasswordResetRequest) MarshalJSON() ([]byte, error)

func (*RequestPasswordResetRequest) UnmarshalJSON

func (v *RequestPasswordResetRequest) UnmarshalJSON(data []byte) error

type RequestPasswordResetResponse

type RequestPasswordResetResponse = any

type ResetPasswordRequest

type ResetPasswordRequest struct {
	Code            runtime.Optional[string] `json:"code"`
	CodeVerifier    runtime.Optional[string] `json:"code_verifier"`
	NewPasswordHash runtime.Optional[string] `json:"new_password_hash"`
	Target          runtime.Optional[string] `json:"target"`
	Txid            runtime.Optional[string] `json:"txid"`
	// Type VerificationType indicates the channel for verification code delivery.
	Type runtime.Optional[VerificationType] `json:"type"`
}

func (ResetPasswordRequest) MarshalJSON

func (v ResetPasswordRequest) MarshalJSON() ([]byte, error)

func (*ResetPasswordRequest) UnmarshalJSON

func (v *ResetPasswordRequest) UnmarshalJSON(data []byte) error

type ResetPasswordResponse

type ResetPasswordResponse = any

type RestoreAccountRequest

type RestoreAccountRequest struct {
	Email            runtime.Optional[string] `json:"email"`
	PasswordHash     runtime.Optional[string] `json:"password_hash"`
	Phone            runtime.Optional[string] `json:"phone"`
	VerificationCode runtime.Optional[string] `json:"verification_code"`
}

func (RestoreAccountRequest) MarshalJSON

func (v RestoreAccountRequest) MarshalJSON() ([]byte, error)

func (*RestoreAccountRequest) UnmarshalJSON

func (v *RestoreAccountRequest) UnmarshalJSON(data []byte) error

type RestoreAccountResponse

type RestoreAccountResponse = any

type RestorePageVersionRequest

type RestorePageVersionRequest struct {
	// ExpectedContentRevision Required. Page content revision observed before the write.
	ExpectedContentRevision string `json:"expected_content_revision"`
	// ExpectedCurrentVersionId Required. Current version observed before the write.
	ExpectedCurrentVersionId string `json:"expected_current_version_id"`
	// PageEtag (OPTIONAL) Optional. Exact representation validator requested by the client.
	PageEtag runtime.Optional[string] `json:"page_etag"`
	// PageId Required. Owning page identifier.
	PageId string `json:"page_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
	// VersionId Required. Historical version to make current.
	VersionId string `json:"version_id"`
}

func (RestorePageVersionRequest) MarshalJSON

func (v RestorePageVersionRequest) MarshalJSON() ([]byte, error)

func (*RestorePageVersionRequest) UnmarshalJSON

func (v *RestorePageVersionRequest) UnmarshalJSON(data []byte) error

type RestorePageVersionResponse

type RestorePageVersionResponse struct {
	// Page Required. Page after the historical version becomes current.
	Page *Page `json:"page"`
}

func (RestorePageVersionResponse) MarshalJSON

func (v RestorePageVersionResponse) MarshalJSON() ([]byte, error)

func (*RestorePageVersionResponse) UnmarshalJSON

func (v *RestorePageVersionResponse) UnmarshalJSON(data []byte) error

type RetryJobRequest

type RetryJobRequest struct {
	// ConfirmedAuthorizedMaxCredit Required. Exact maximum user net charge confirmed by the user.
	ConfirmedAuthorizedMaxCredit string `json:"confirmed_authorized_max_credit"`
	// EstimateId Required. Active RETRY_JOB estimate bound to job_id.
	EstimateId string `json:"estimate_id"`
	// InputFingerprint Required. Exact fingerprint from the durable estimate.
	InputFingerprint string `json:"input_fingerprint"`
	// JobId Required. Failed source job from the request path.
	JobId string `json:"job_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (RetryJobRequest) MarshalJSON

func (v RetryJobRequest) MarshalJSON() ([]byte, error)

func (*RetryJobRequest) UnmarshalJSON

func (v *RetryJobRequest) UnmarshalJSON(data []byte) error

type RetryJobResponse

type RetryJobResponse struct {
	// Job Required. Newly created retry job; the source job remains unchanged.
	Job *JobSummary `json:"job"`
}

func (RetryJobResponse) MarshalJSON

func (v RetryJobResponse) MarshalJSON() ([]byte, error)

func (*RetryJobResponse) UnmarshalJSON

func (v *RetryJobResponse) UnmarshalJSON(data []byte) error

type RetryWebhookDeliveryRequest

type RetryWebhookDeliveryRequest struct {
	DeliveryId runtime.Optional[string] `json:"delivery_id"`
}

func (RetryWebhookDeliveryRequest) MarshalJSON

func (v RetryWebhookDeliveryRequest) MarshalJSON() ([]byte, error)

func (*RetryWebhookDeliveryRequest) UnmarshalJSON

func (v *RetryWebhookDeliveryRequest) UnmarshalJSON(data []byte) error

type RetryWebhookDeliveryResponse

type RetryWebhookDeliveryResponse struct {
	// Delivery WebhookDelivery records a single delivery attempt.
	Delivery runtime.Optional[*WebhookDelivery] `json:"delivery"`
}

func (RetryWebhookDeliveryResponse) MarshalJSON

func (v RetryWebhookDeliveryResponse) MarshalJSON() ([]byte, error)

func (*RetryWebhookDeliveryResponse) UnmarshalJSON

func (v *RetryWebhookDeliveryResponse) UnmarshalJSON(data []byte) error

type RevokeAPIKeyRequest

type RevokeAPIKeyRequest struct {
	KeyId runtime.Optional[string] `json:"key_id"`
}

func (RevokeAPIKeyRequest) MarshalJSON

func (v RevokeAPIKeyRequest) MarshalJSON() ([]byte, error)

func (*RevokeAPIKeyRequest) UnmarshalJSON

func (v *RevokeAPIKeyRequest) UnmarshalJSON(data []byte) error

type RevokeAPIKeyResponse

type RevokeAPIKeyResponse = any

type RevokeApplicationAccessRequest

type RevokeApplicationAccessRequest struct {
	AppId runtime.Optional[string] `json:"app_id"`
}

func (RevokeApplicationAccessRequest) MarshalJSON

func (v RevokeApplicationAccessRequest) MarshalJSON() ([]byte, error)

func (*RevokeApplicationAccessRequest) UnmarshalJSON

func (v *RevokeApplicationAccessRequest) UnmarshalJSON(data []byte) error

type RevokeApplicationAccessResponse

type RevokeApplicationAccessResponse = any

type RevokeRevokeTokenParams

type RevokeRevokeTokenParams struct {
	Body *RevokeTokenRequest
}

type RevokeService

type RevokeService struct {
	// contains filtered or unexported fields
}

func (*RevokeService) RevokeToken

RevokeToken RevokeToken

Revoke an access or refresh token (RFC 7009).

type RevokeTokenRequest

type RevokeTokenRequest struct {
	ClientId     runtime.Optional[string] `json:"client_id"`
	ClientSecret runtime.Optional[string] `json:"client_secret"`
	// Token The token to revoke (access or refresh)
	Token runtime.Optional[string] `json:"token"`
	// TokenTypeHint "access_token" or "refresh_token"
	TokenTypeHint runtime.Optional[string] `json:"token_type_hint"`
}

func (RevokeTokenRequest) MarshalJSON

func (v RevokeTokenRequest) MarshalJSON() ([]byte, error)

func (*RevokeTokenRequest) UnmarshalJSON

func (v *RevokeTokenRequest) UnmarshalJSON(data []byte) error

type RevokeTokenResponse

type RevokeTokenResponse = any

type RotateClientSecretRequest

type RotateClientSecretRequest struct {
	AppId runtime.Optional[string] `json:"app_id"`
}

func (RotateClientSecretRequest) MarshalJSON

func (v RotateClientSecretRequest) MarshalJSON() ([]byte, error)

func (*RotateClientSecretRequest) UnmarshalJSON

func (v *RotateClientSecretRequest) UnmarshalJSON(data []byte) error

type RotateClientSecretResponse

type RotateClientSecretResponse struct {
	// ClientSecret New secret in plaintext
	ClientSecret runtime.Optional[string] `json:"client_secret"`
}

func (RotateClientSecretResponse) MarshalJSON

func (v RotateClientSecretResponse) MarshalJSON() ([]byte, error)

func (*RotateClientSecretResponse) UnmarshalJSON

func (v *RotateClientSecretResponse) UnmarshalJSON(data []byte) error

type RotateOAuthClientSecretRequest

type RotateOAuthClientSecretRequest struct {
	AppId    runtime.Optional[string] `json:"app_id"`
	ClientId runtime.Optional[string] `json:"client_id"`
}

func (RotateOAuthClientSecretRequest) MarshalJSON

func (v RotateOAuthClientSecretRequest) MarshalJSON() ([]byte, error)

func (*RotateOAuthClientSecretRequest) UnmarshalJSON

func (v *RotateOAuthClientSecretRequest) UnmarshalJSON(data []byte) error

type RotateOAuthClientSecretResponse

type RotateOAuthClientSecretResponse struct {
	// Client OAuthClient is one credential atom owned by IAM. An application may own
	//  multiple clients; app_id and client_id must therefore be used together for
	//  every management operation.
	//
	//  Secret material and secret hashes are deliberately absent from this read
	//  model. Plaintext is returned exactly once by create and rotate responses.
	Client runtime.Optional[*OAuthClient] `json:"client"`
	// ClientSecret Plaintext returned once; old secret is invalidated.
	ClientSecret runtime.Optional[string] `json:"client_secret"`
	// RotatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	RotatedAt runtime.Optional[Timestamp] `json:"rotated_at"`
}

func (RotateOAuthClientSecretResponse) MarshalJSON

func (v RotateOAuthClientSecretResponse) MarshalJSON() ([]byte, error)

func (*RotateOAuthClientSecretResponse) UnmarshalJSON

func (v *RotateOAuthClientSecretResponse) UnmarshalJSON(data []byte) error

type RotateWebhookSecretRequest

type RotateWebhookSecretRequest struct {
	WebhookId runtime.Optional[string] `json:"webhook_id"`
}

func (RotateWebhookSecretRequest) MarshalJSON

func (v RotateWebhookSecretRequest) MarshalJSON() ([]byte, error)

func (*RotateWebhookSecretRequest) UnmarshalJSON

func (v *RotateWebhookSecretRequest) UnmarshalJSON(data []byte) error

type RotateWebhookSecretResponse

type RotateWebhookSecretResponse struct {
	// SigningSecret New secret in plaintext
	SigningSecret runtime.Optional[string] `json:"signing_secret"`
}

func (RotateWebhookSecretResponse) MarshalJSON

func (v RotateWebhookSecretResponse) MarshalJSON() ([]byte, error)

func (*RotateWebhookSecretResponse) UnmarshalJSON

func (v *RotateWebhookSecretResponse) UnmarshalJSON(data []byte) error

type Scope

type Scope struct {
	// Category Grouping, e.g. "creative", "hanzi", "user"
	Category runtime.Optional[string] `json:"category"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// Description Shown on the consent screen
	Description runtime.Optional[string] `json:"description"`
	// DisplayName Human-readable label, e.g. "Read Creative Projects"
	DisplayName runtime.Optional[string] `json:"display_name"`
	// IsSensitive Requires explicit user approval
	IsSensitive runtime.Optional[bool] `json:"is_sensitive"`
	// Name Machine-readable identifier, e.g. "creative:read"
	Name    runtime.Optional[string] `json:"name"`
	ScopeId runtime.Optional[string] `json:"scope_id"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

Scope Scope defines a permission boundary for OAuth access control.

func (Scope) MarshalJSON

func (v Scope) MarshalJSON() ([]byte, error)

func (*Scope) UnmarshalJSON

func (v *Scope) UnmarshalJSON(data []byte) error

type ScopeDetail

type ScopeDetail struct {
	Description runtime.Optional[string] `json:"description"`
	DisplayName runtime.Optional[string] `json:"display_name"`
	IsSensitive runtime.Optional[bool]   `json:"is_sensitive"`
	Scope       runtime.Optional[string] `json:"scope"`
}

ScopeDetail ScopeDetail provides display information for a scope on the consent screen.

func (ScopeDetail) MarshalJSON

func (v ScopeDetail) MarshalJSON() ([]byte, error)

func (*ScopeDetail) UnmarshalJSON

func (v *ScopeDetail) UnmarshalJSON(data []byte) error

type ScopesGetScopeParams

type ScopesGetScopeParams struct {
	Name string
}

type ScopesListScopesParams

type ScopesListScopesParams struct {
	// Category Optional filter by category
	Category runtime.Optional[string]
}

type ScopesService

type ScopesService struct {
	// contains filtered or unexported fields
}

func (*ScopesService) GetScope

GetScope GetScope

Get a scope by its name.

func (*ScopesService) ListScopes

ListScopes ListScopes

List all available scopes, optionally filtered by category.

category: Optional filter by category

type SearchUsersByPhoneRequest

type SearchUsersByPhoneRequest struct {
	// PageSize 1-10, defaults to 10.
	PageSize runtime.Optional[int64] `json:"page_size"`
	// PhoneQuery 3-15 digits after removing formatting separators; no wildcard syntax.
	PhoneQuery runtime.Optional[string] `json:"phone_query"`
}

SearchUsersByPhoneRequest Bounded, masked INTERNAL account search. Digits match anywhere in phone.

func (SearchUsersByPhoneRequest) MarshalJSON

func (v SearchUsersByPhoneRequest) MarshalJSON() ([]byte, error)

func (*SearchUsersByPhoneRequest) UnmarshalJSON

func (v *SearchUsersByPhoneRequest) UnmarshalJSON(data []byte) error

type SearchUsersByPhoneResponse

type SearchUsersByPhoneResponse struct {
	Users runtime.Optional[[]*LookupUserResponse] `json:"users"`
}

func (SearchUsersByPhoneResponse) MarshalJSON

func (v SearchUsersByPhoneResponse) MarshalJSON() ([]byte, error)

func (*SearchUsersByPhoneResponse) UnmarshalJSON

func (v *SearchUsersByPhoneResponse) UnmarshalJSON(data []byte) error

type SendVerificationCodeRequest

type SendVerificationCodeRequest struct {
	// CodeChallenge PKCE: base64url(SHA256(code_verifier))
	CodeChallenge runtime.Optional[string] `json:"code_challenge"`
	// Purpose VerificationPurpose indicates why the code is being sent.
	Purpose runtime.Optional[VerificationPurpose] `json:"purpose"`
	// Target email address or phone number
	Target runtime.Optional[string] `json:"target"`
	// Type VerificationType indicates the channel for verification code delivery.
	Type runtime.Optional[VerificationType] `json:"type"`
}

func (SendVerificationCodeRequest) MarshalJSON

func (v SendVerificationCodeRequest) MarshalJSON() ([]byte, error)

func (*SendVerificationCodeRequest) UnmarshalJSON

func (v *SendVerificationCodeRequest) UnmarshalJSON(data []byte) error

type SendVerificationCodeResponse

type SendVerificationCodeResponse struct {
	// ExpiresAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	Txid      runtime.Optional[string]    `json:"txid"`
}

func (SendVerificationCodeResponse) MarshalJSON

func (v SendVerificationCodeResponse) MarshalJSON() ([]byte, error)

func (*SendVerificationCodeResponse) UnmarshalJSON

func (v *SendVerificationCodeResponse) UnmarshalJSON(data []byte) error

type SessionInfo

type SessionInfo struct {
	// DeviceInfo DeviceInfo describes the client device.
	DeviceInfo runtime.Optional[*DeviceInfo] `json:"device_info"`
	// ExpiresAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	Ip        runtime.Optional[string]    `json:"ip"`
	IsCurrent runtime.Optional[bool]      `json:"is_current"`
	// LastActive A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	LastActive runtime.Optional[Timestamp] `json:"last_active"`
	Location   runtime.Optional[string]    `json:"location"`
	// LoginTime A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	LoginTime runtime.Optional[Timestamp] `json:"login_time"`
	Port      runtime.Optional[int64]     `json:"port"`
	SessionId runtime.Optional[string]    `json:"session_id"`
}

SessionInfo SessionInfo describes an active session.

func (SessionInfo) MarshalJSON

func (v SessionInfo) MarshalJSON() ([]byte, error)

func (*SessionInfo) UnmarshalJSON

func (v *SessionInfo) UnmarshalJSON(data []byte) error

type SetPasswordRequest

type SetPasswordRequest struct {
	CsrfToken    runtime.Optional[string] `json:"csrf_token"`
	PasswordHash runtime.Optional[string] `json:"password_hash"`
	SessionId    runtime.Optional[string] `json:"session_id"`
}

func (SetPasswordRequest) MarshalJSON

func (v SetPasswordRequest) MarshalJSON() ([]byte, error)

func (*SetPasswordRequest) UnmarshalJSON

func (v *SetPasswordRequest) UnmarshalJSON(data []byte) error

type SetPasswordResponse

type SetPasswordResponse = any

type SignAssetUrlsRequest

type SignAssetUrlsRequest struct {
	// ObjectKeys 需要重新签名的对象键列表。
	ObjectKeys runtime.Optional[[]string] `json:"object_keys"`
}

SignAssetUrlsRequest SignAssetUrlsRequest 为已缓存的素材对象键重新生成签名 URL。

用于客户端本地缓存了 object_key 后,URL 过期时重新签名。

func (SignAssetUrlsRequest) MarshalJSON

func (v SignAssetUrlsRequest) MarshalJSON() ([]byte, error)

func (*SignAssetUrlsRequest) UnmarshalJSON

func (v *SignAssetUrlsRequest) UnmarshalJSON(data []byte) error

type SignAssetUrlsResponse

type SignAssetUrlsResponse struct {
	// SignedUrls 对象键 → 签名后的访问 URL。
	SignedUrls runtime.Optional[map[string]string] `json:"signed_urls"`
}

func (SignAssetUrlsResponse) MarshalJSON

func (v SignAssetUrlsResponse) MarshalJSON() ([]byte, error)

func (*SignAssetUrlsResponse) UnmarshalJSON

func (v *SignAssetUrlsResponse) UnmarshalJSON(data []byte) error

type SignAssetUrlsResponseSignedUrlsEntry

type SignAssetUrlsResponseSignedUrlsEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (SignAssetUrlsResponseSignedUrlsEntry) MarshalJSON

func (v SignAssetUrlsResponseSignedUrlsEntry) MarshalJSON() ([]byte, error)

func (*SignAssetUrlsResponseSignedUrlsEntry) UnmarshalJSON

func (v *SignAssetUrlsResponseSignedUrlsEntry) UnmarshalJSON(data []byte) error

type SignUploadPartsRequest

type SignUploadPartsRequest struct {
	// PartNumbers Required. One to one hundred unique numbers within the session part plan.
	PartNumbers []int64 `json:"part_numbers"`
	// UploadId Required. OPEN upload session identifier.
	UploadId string `json:"upload_id"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (SignUploadPartsRequest) MarshalJSON

func (v SignUploadPartsRequest) MarshalJSON() ([]byte, error)

func (*SignUploadPartsRequest) UnmarshalJSON

func (v *SignUploadPartsRequest) UnmarshalJSON(data []byte) error

type SignUploadPartsResponse

type SignUploadPartsResponse struct {
	// Parts Required. One short-lived signed capability per requested part.
	Parts []*SignedUploadPart `json:"parts"`
}

func (SignUploadPartsResponse) MarshalJSON

func (v SignUploadPartsResponse) MarshalJSON() ([]byte, error)

func (*SignUploadPartsResponse) UnmarshalJSON

func (v *SignUploadPartsResponse) UnmarshalJSON(data []byte) error

type SignUrlsService

type SignUrlsService struct {
	// contains filtered or unexported fields
}

func (*SignUrlsService) SignAssetUrls

SignAssetUrls SignAssetUrls

为已缓存的对象键重新生成签名 URL。

当客户端本地缓存了 object_key 但 URL 过期时,调用此接口获取新的签名 URL。

type SignUrlsSignAssetUrlsParams

type SignUrlsSignAssetUrlsParams struct {
	Body *SignAssetUrlsRequest
}

type SignedUploadPart

type SignedUploadPart struct {
	// ExpiresAt Required. Expiry time of put_url.
	ExpiresAt Timestamp `json:"expires_at"`
	// PartNumber Required. Multipart part number.
	PartNumber int64 `json:"part_number"`
	// PutUrl Required. Short-lived HTTPS bearer URL for this part.
	PutUrl string `json:"put_url"`
	// RequiredHeaders Required. Headers that must be sent byte-for-byte; empty when none.
	RequiredHeaders map[string]string `json:"required_headers"`
}

SignedUploadPart SignedUploadPart is a short-lived, owner-authorized capability for uploading

one part. URLs and headers must never be logged or forwarded.

func (SignedUploadPart) MarshalJSON

func (v SignedUploadPart) MarshalJSON() ([]byte, error)

func (*SignedUploadPart) UnmarshalJSON

func (v *SignedUploadPart) UnmarshalJSON(data []byte) error

type SignedUploadPartRequiredHeadersEntry

type SignedUploadPartRequiredHeadersEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (SignedUploadPartRequiredHeadersEntry) MarshalJSON

func (v SignedUploadPartRequiredHeadersEntry) MarshalJSON() ([]byte, error)

func (*SignedUploadPartRequiredHeadersEntry) UnmarshalJSON

func (v *SignedUploadPartRequiredHeadersEntry) UnmarshalJSON(data []byte) error

type SocialLoginRequest

type SocialLoginRequest struct {
	// AuthCode Authorization code from the social provider
	AuthCode runtime.Optional[string] `json:"auth_code"`
	// CodeVerifier PKCE verifier (optional, depends on provider)
	CodeVerifier runtime.Optional[string] `json:"code_verifier"`
	// DeviceInfo DeviceInfo describes the client device.
	DeviceInfo runtime.Optional[*DeviceInfo] `json:"device_info"`
	// Provider SocialProvider identifies a third-party identity provider for social login.
	Provider runtime.Optional[SocialProvider] `json:"provider"`
	// RedirectUri Must match the redirect_uri used in the initial request
	RedirectUri runtime.Optional[string] `json:"redirect_uri"`
}

func (SocialLoginRequest) MarshalJSON

func (v SocialLoginRequest) MarshalJSON() ([]byte, error)

func (*SocialLoginRequest) UnmarshalJSON

func (v *SocialLoginRequest) UnmarshalJSON(data []byte) error

type SocialLoginResponse

type SocialLoginResponse struct {
	// IsNewUser True if this login created a new account
	IsNewUser runtime.Optional[bool]   `json:"is_new_user"`
	SessionId runtime.Optional[string] `json:"session_id"`
	// Tokens TokenPair contains access and refresh tokens returned after authentication.
	Tokens runtime.Optional[*TokenPair] `json:"tokens"`
	// User UserBrief is a minimal user representation returned in auth responses.
	User runtime.Optional[*UserBrief] `json:"user"`
}

func (SocialLoginResponse) MarshalJSON

func (v SocialLoginResponse) MarshalJSON() ([]byte, error)

func (*SocialLoginResponse) UnmarshalJSON

func (v *SocialLoginResponse) UnmarshalJSON(data []byte) error

type SocialProvider

type SocialProvider string

SocialProvider SocialProvider identifies a third-party identity provider for social login.

const (
	SocialProviderSOCIALPROVIDERUNSPECIFIED SocialProvider = "SOCIAL_PROVIDER_UNSPECIFIED"
	SocialProviderSOCIALPROVIDERGITHUB      SocialProvider = "SOCIAL_PROVIDER_GITHUB"
	SocialProviderSOCIALPROVIDERGOOGLE      SocialProvider = "SOCIAL_PROVIDER_GOOGLE"
	SocialProviderSOCIALPROVIDERWECHAT      SocialProvider = "SOCIAL_PROVIDER_WECHAT"
	SocialProviderSOCIALPROVIDERAPPLE       SocialProvider = "SOCIAL_PROVIDER_APPLE"
)

func (SocialProvider) MarshalJSON

func (v SocialProvider) MarshalJSON() ([]byte, error)

func (*SocialProvider) UnmarshalJSON

func (v *SocialProvider) UnmarshalJSON(data []byte) error

type SourceNote

type SourceNote struct {
	// CanonicalUrl (OPTIONAL) Conditional. Future-reserved canonical HTTPS URL; currently absent.
	CanonicalUrl runtime.Optional[string] `json:"canonical_url"`
	// ContentSha256 (OPTIONAL) Conditional. Future-reserved retrieved-content SHA-256; currently absent.
	ContentSha256 runtime.Optional[string] `json:"content_sha256"`
	// ExternalSourceId (OPTIONAL) Conditional. Future-reserved external source identifier; currently absent.
	ExternalSourceId runtime.Optional[string] `json:"external_source_id"`
	// Kind Required. Safe note kind; EXTERNAL_SOURCE is future-reserved.
	Kind SourceNoteKind `json:"kind"`
	// MaterialId (OPTIONAL) Optional. Opaque source material identifier when attributable.
	MaterialId runtime.Optional[string] `json:"material_id"`
	// PublishedAt (OPTIONAL) Optional. Future-reserved source publication time; currently absent.
	PublishedAt runtime.Optional[Timestamp] `json:"published_at"`
	// Publisher (OPTIONAL) Conditional. Future-reserved publisher; currently absent.
	Publisher runtime.Optional[string] `json:"publisher"`
	// RetrievedAt (OPTIONAL) Conditional. Future-reserved retrieval time; currently absent.
	RetrievedAt runtime.Optional[Timestamp] `json:"retrieved_at"`
	// SourceLocation (OPTIONAL) Optional. Safe page, slide, sheet, cell, or image-region description.
	SourceLocation runtime.Optional[string] `json:"source_location"`
	// Summary Required. User-understandable short explanation.
	Summary string `json:"summary"`
	// Title (OPTIONAL) Conditional. Future-reserved external source title; currently absent.
	Title runtime.Optional[string] `json:"title"`
}

SourceNote SourceNote is a short, safe explanation of used, omitted, or uncertain

source material. External-source fields are future-reserved and absent in
the current release.

func (SourceNote) MarshalJSON

func (v SourceNote) MarshalJSON() ([]byte, error)

func (*SourceNote) UnmarshalJSON

func (v *SourceNote) UnmarshalJSON(data []byte) error

type SourceNoteKind

type SourceNoteKind string

SourceNoteKind SourceNoteKind identifies a safe, user-facing source note.

EXTERNAL_SOURCE is future-reserved and never returned in the current release.
const (
	SourceNoteKindSOURCENOTEKINDUNSPECIFIED    SourceNoteKind = "SOURCE_NOTE_KIND_UNSPECIFIED"
	SourceNoteKindSOURCENOTEKINDSOURCE         SourceNoteKind = "SOURCE_NOTE_KIND_SOURCE"
	SourceNoteKindSOURCENOTEKINDOMITTEDCONTENT SourceNoteKind = "SOURCE_NOTE_KIND_OMITTED_CONTENT"
	SourceNoteKindSOURCENOTEKINDUNCERTAINTY    SourceNoteKind = "SOURCE_NOTE_KIND_UNCERTAINTY"
	SourceNoteKindSOURCENOTEKINDEXTERNALSOURCE SourceNoteKind = "SOURCE_NOTE_KIND_EXTERNAL_SOURCE"
)

func (SourceNoteKind) MarshalJSON

func (v SourceNoteKind) MarshalJSON() ([]byte, error)

func (*SourceNoteKind) UnmarshalJSON

func (v *SourceNoteKind) UnmarshalJSON(data []byte) error

type Status

type Status struct {
	// Code The status code, which should be an enum value of google.rpc.Code.
	Code runtime.Optional[int64] `json:"code"`
	// Details A list of messages that carry the error details.
	Details runtime.Optional[[]*Any] `json:"details"`
	// Message A developer-facing error message.
	Message runtime.Optional[string] `json:"message"`
}

Status The Status type defines a logical error model suitable for gRPC and REST APIs.

func (Status) MarshalJSON

func (v Status) MarshalJSON() ([]byte, error)

func (*Status) UnmarshalJSON

func (v *Status) UnmarshalJSON(data []byte) error

type StatusUpdate

type StatusUpdate struct {
	// Message 人类可读的状态描述。
	Message runtime.Optional[string] `json:"message"`
	// Phase 当前处理阶段,例如 "generating"、"optimizing"、"converting"。
	Phase runtime.Optional[string] `json:"phase"`
	// ProgressPercent 处理进度百分比(0-100),不可用时为 0。
	ProgressPercent runtime.Optional[int64] `json:"progress_percent"`
}

StatusUpdate StatusUpdate notifies the client about processing phase changes.

func (StatusUpdate) MarshalJSON

func (v StatusUpdate) MarshalJSON() ([]byte, error)

func (*StatusUpdate) UnmarshalJSON

func (v *StatusUpdate) UnmarshalJSON(data []byte) error

type StorageStatementSnapshot

type StorageStatementSnapshot struct {
	// BaseStatementDigest (OPTIONAL) Conditional. Required for STORAGE_ADJUSTMENT and identifies the base statement.
	BaseStatementDigest runtime.Optional[string] `json:"base_statement_digest"`
	// CorrectionBatchId (OPTIONAL) Conditional. Required for STORAGE_ADJUSTMENT and identifies the correction batch.
	CorrectionBatchId runtime.Optional[string] `json:"correction_batch_id"`
	// StatementDigest Required. SHA-256 of the canonical period, pricing, and metering statement.
	StatementDigest string `json:"statement_digest"`
	// UsageByteSeconds Required. Total byte-seconds in this statement period.
	UsageByteSeconds string `json:"usage_byte_seconds"`
	// UsageByteSecondsDelta (OPTIONAL) Conditional. Required for STORAGE_ADJUSTMENT; signed byte-second delta.
	UsageByteSecondsDelta runtime.Optional[string] `json:"usage_byte_seconds_delta"`
}

StorageStatementSnapshot StorageStatementSnapshot is the immutable metering statement projected into

a storage-period or storage-adjustment cost summary.

func (StorageStatementSnapshot) MarshalJSON

func (v StorageStatementSnapshot) MarshalJSON() ([]byte, error)

func (*StorageStatementSnapshot) UnmarshalJSON

func (v *StorageStatementSnapshot) UnmarshalJSON(data []byte) error

type StreamError

type StreamError struct {
	// Code 错误码,业务自定义。
	Code runtime.Optional[int64] `json:"code"`
	// Message 错误描述信息。
	Message runtime.Optional[string] `json:"message"`
}

StreamError StreamError reports a non-fatal error during stream processing.

func (StreamError) MarshalJSON

func (v StreamError) MarshalJSON() ([]byte, error)

func (*StreamError) UnmarshalJSON

func (v *StreamError) UnmarshalJSON(data []byte) error

type StreamEvent

type StreamEvent = any

StreamEvent StreamEvent is the unified envelope for streaming RPC responses.

type StreamEventMetadataEntry

type StreamEventMetadataEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (StreamEventMetadataEntry) MarshalJSON

func (v StreamEventMetadataEntry) MarshalJSON() ([]byte, error)

func (*StreamEventMetadataEntry) UnmarshalJSON

func (v *StreamEventMetadataEntry) UnmarshalJSON(data []byte) error

type StreamEventType

type StreamEventType string

StreamEventType StreamEventType indicates the type of a stream event.

const (
	StreamEventTypeSTREAMEVENTTYPEUNSPECIFIED StreamEventType = "STREAM_EVENT_TYPE_UNSPECIFIED"
	StreamEventTypeSTREAMEVENTTYPECONTENT     StreamEventType = "STREAM_EVENT_TYPE_CONTENT"
	StreamEventTypeSTREAMEVENTTYPESTATUS      StreamEventType = "STREAM_EVENT_TYPE_STATUS"
	StreamEventTypeSTREAMEVENTTYPETOKENUSAGE  StreamEventType = "STREAM_EVENT_TYPE_TOKEN_USAGE"
	StreamEventTypeSTREAMEVENTTYPEERROR       StreamEventType = "STREAM_EVENT_TYPE_ERROR"
)

func (StreamEventType) MarshalJSON

func (v StreamEventType) MarshalJSON() ([]byte, error)

func (*StreamEventType) UnmarshalJSON

func (v *StreamEventType) UnmarshalJSON(data []byte) error

type SubmitConsentRequest

type SubmitConsentRequest struct {
	// Approved False if the user denied consent
	Approved            runtime.Optional[bool]   `json:"approved"`
	ClientId            runtime.Optional[string] `json:"client_id"`
	CodeChallenge       runtime.Optional[string] `json:"code_challenge"`
	CodeChallengeMethod runtime.Optional[string] `json:"code_challenge_method"`
	RedirectUri         runtime.Optional[string] `json:"redirect_uri"`
	// Scope Space-delimited scopes the user approved
	Scope runtime.Optional[string] `json:"scope"`
	// State CSRF state from the authorize request
	State runtime.Optional[string] `json:"state"`
}

func (SubmitConsentRequest) MarshalJSON

func (v SubmitConsentRequest) MarshalJSON() ([]byte, error)

func (*SubmitConsentRequest) UnmarshalJSON

func (v *SubmitConsentRequest) UnmarshalJSON(data []byte) error

type SubmitConsentResponse

type SubmitConsentResponse struct {
	// AuthorizationCode Set only if approved = true
	AuthorizationCode runtime.Optional[string] `json:"authorization_code"`
	// RedirectUri Full redirect URI with code and state
	RedirectUri runtime.Optional[string] `json:"redirect_uri"`
}

func (SubmitConsentResponse) MarshalJSON

func (v SubmitConsentResponse) MarshalJSON() ([]byte, error)

func (*SubmitConsentResponse) UnmarshalJSON

func (v *SubmitConsentResponse) UnmarshalJSON(data []byte) error

type SubmitGenerationRequest

type SubmitGenerationRequest struct {
	// ClientReference (OPTIONAL) Optional. Client-local draft correlation value, at most 128 characters.
	ClientReference runtime.Optional[string] `json:"client_reference"`
	// ConfirmedAuthorizedMaxCredit Required. Exact maximum user net charge confirmed by the user.
	ConfirmedAuthorizedMaxCredit string `json:"confirmed_authorized_max_credit"`
	// EstimateId Required. Active CREATE_PAGE estimate identifier.
	EstimateId string `json:"estimate_id"`
	// InputFingerprint Required. Exact fingerprint from the durable estimate.
	InputFingerprint string `json:"input_fingerprint"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (SubmitGenerationRequest) MarshalJSON

func (v SubmitGenerationRequest) MarshalJSON() ([]byte, error)

func (*SubmitGenerationRequest) UnmarshalJSON

func (v *SubmitGenerationRequest) UnmarshalJSON(data []byte) error

type SubmitGenerationResponse

type SubmitGenerationResponse struct {
	// Job Required. Newly created logical generation job.
	Job *JobSummary `json:"job"`
	// Page Required. Newly created page.
	Page *Page `json:"page"`
}

func (SubmitGenerationResponse) MarshalJSON

func (v SubmitGenerationResponse) MarshalJSON() ([]byte, error)

func (*SubmitGenerationResponse) UnmarshalJSON

func (v *SubmitGenerationResponse) UnmarshalJSON(data []byte) error

type SyncAppMemberRequest

type SyncAppMemberRequest struct {
	// AppId Required. Application this row belongs to. Opaque entity-id with
	//  `app` prefix.
	AppId runtime.Optional[string] `json:"app_id"`
	// Role Required. Application-level role. The role taxonomy differs from
	//  organization roles (which use owner / admin / member); applications
	//  use owner / admin / developer / viewer. Stored verbatim.
	Role runtime.Optional[string] `json:"role"`
	// Status Required. Membership status. One of "active" / "invited" /
	//  "removed". Rows with status != "active" cause Check to return
	//  NOT_A_MEMBER for the user/app pair, even when a row exists.
	Status runtime.Optional[string] `json:"status"`
	// UserId Required. The principal whose membership is being synced. Opaque
	//  entity-id with `usr` prefix.
	UserId runtime.Optional[string] `json:"user_id"`
}

SyncAppMemberRequest SyncAppMemberRequest carries one upsert into the application

membership table. All fields are required.

func (SyncAppMemberRequest) MarshalJSON

func (v SyncAppMemberRequest) MarshalJSON() ([]byte, error)

func (*SyncAppMemberRequest) UnmarshalJSON

func (v *SyncAppMemberRequest) UnmarshalJSON(data []byte) error

type SyncAppMemberResponse

type SyncAppMemberResponse = any

SyncAppMemberResponse SyncAppMemberResponse is intentionally empty; an OK status code

indicates the cache was updated. Idempotent.

type Template

type Template struct {
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// Description 模板描述。
	Description runtime.Optional[string] `json:"description"`
	// IsDefault 是否为默认模板。
	IsDefault runtime.Optional[bool] `json:"is_default"`
	// Name 模板显示名称。
	Name runtime.Optional[string] `json:"name"`
	// TemplateId 模板唯一标识。
	TemplateId runtime.Optional[string] `json:"template_id"`
	// ThumbnailUrl 模板缩略图 URL。
	ThumbnailUrl runtime.Optional[string] `json:"thumbnail_url"`
}

Template Template 系统排版模板。

func (Template) MarshalJSON

func (v Template) MarshalJSON() ([]byte, error)

func (*Template) UnmarshalJSON

func (v *Template) UnmarshalJSON(data []byte) error

type TemplatePresetsService

type TemplatePresetsService struct {
	// contains filtered or unexported fields
}

func (*TemplatePresetsService) ListPresets

ListPresets ListPresets

列出当前用户的所有自定义预设。

type TemplatesService

type TemplatesService struct {
	// contains filtered or unexported fields
}

func (*TemplatesService) ListTemplates

func (s *TemplatesService) ListTemplates(ctx context.Context, options ...runtime.RequestOption) (*ListTemplatesResponse, error)

ListTemplates ListTemplates

列出所有系统排版模板。

type TerminateAllOtherSessionsRequest

type TerminateAllOtherSessionsRequest = any

type TerminateAllOtherSessionsResponse

type TerminateAllOtherSessionsResponse struct {
	TerminatedCount runtime.Optional[int64] `json:"terminated_count"`
}

func (TerminateAllOtherSessionsResponse) MarshalJSON

func (v TerminateAllOtherSessionsResponse) MarshalJSON() ([]byte, error)

func (*TerminateAllOtherSessionsResponse) UnmarshalJSON

func (v *TerminateAllOtherSessionsResponse) UnmarshalJSON(data []byte) error

type TerminateSessionRequest

type TerminateSessionRequest struct {
	SessionId runtime.Optional[string] `json:"session_id"`
}

func (TerminateSessionRequest) MarshalJSON

func (v TerminateSessionRequest) MarshalJSON() ([]byte, error)

func (*TerminateSessionRequest) UnmarshalJSON

func (v *TerminateSessionRequest) UnmarshalJSON(data []byte) error

type TerminateSessionResponse

type TerminateSessionResponse = any

type Timestamp

type Timestamp = time.Time

Timestamp A Timestamp represents a point in time independent of any time zone or local

calendar, encoded as a count of seconds and fractions of seconds at
nanosecond resolution. The count is relative to an epoch at UTC midnight on
January 1, 1970, in the proleptic Gregorian calendar which extends the
Gregorian calendar backwards to year one.

All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
second table is needed for interpretation, using a [24-hour linear
smear](https://developers.google.com/time/smear).

The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
restricting to that range, we ensure that we can convert to and from [RFC
3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.

# Examples

Example 1: Compute Timestamp from POSIX `time()`.

    Timestamp timestamp;
    timestamp.set_seconds(time(NULL));
    timestamp.set_nanos(0);

Example 2: Compute Timestamp from POSIX `gettimeofday()`.

    struct timeval tv;
    gettimeofday(&tv, NULL);

    Timestamp timestamp;
    timestamp.set_seconds(tv.tv_sec);
    timestamp.set_nanos(tv.tv_usec * 1000);

Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.

    FILETIME ft;
    GetSystemTimeAsFileTime(&ft);
    UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;

    // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
    // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
    Timestamp timestamp;
    timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
    timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));

Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.

    long millis = System.currentTimeMillis();

    Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
        .setNanos((int) ((millis % 1000) * 1000000)).build();

Example 5: Compute Timestamp from Java `Instant.now()`.

    Instant now = Instant.now();

    Timestamp timestamp =
        Timestamp.newBuilder().setSeconds(now.getEpochSecond())
            .setNanos(now.getNano()).build();

Example 6: Compute Timestamp from current time in Python.

    timestamp = Timestamp()
    timestamp.GetCurrentTime()

# JSON Mapping

In JSON format, the Timestamp type is encoded as a string in the
[RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
where {year} is always expressed using four digits while {month}, {day},
{hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
is required. A ProtoJSON serializer should always use UTC (as indicated by
"Z") when printing the Timestamp type and a ProtoJSON parser should be
able to accept both UTC and other timezones (as indicated by an offset).

For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
01:30 UTC on January 15, 2017.

In JavaScript, one can convert a Date object to this format using the
standard
[toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
method. In Python, a standard `datetime.datetime` object can be converted
to this format using
[`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
the Joda Time's [`ISODateTimeFormat.dateTime()`](
http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
) to obtain a formatter capable of generating timestamps in this format.

type TokenPair

type TokenPair struct {
	AccessToken  runtime.Optional[string] `json:"access_token"`
	ExpiresIn    runtime.Optional[int64]  `json:"expires_in"`
	RefreshToken runtime.Optional[string] `json:"refresh_token"`
	// TokenType "Bearer"
	TokenType runtime.Optional[string] `json:"token_type"`
}

TokenPair TokenPair contains access and refresh tokens returned after authentication.

func (TokenPair) MarshalJSON

func (v TokenPair) MarshalJSON() ([]byte, error)

func (*TokenPair) UnmarshalJSON

func (v *TokenPair) UnmarshalJSON(data []byte) error

type TokenRequest

type TokenRequest struct {
	// ClientId Client authentication (all grant types)
	ClientId     runtime.Optional[string] `json:"client_id"`
	ClientSecret runtime.Optional[string] `json:"client_secret"`
	// Code For authorization_code grant
	Code runtime.Optional[string] `json:"code"`
	// CodeVerifier PKCE verifier
	CodeVerifier runtime.Optional[string] `json:"code_verifier"`
	// GrantType GrantType enumerates supported OAuth 2.0 grant types.
	GrantType runtime.Optional[GrantType] `json:"grant_type"`
	// Nonce OIDC nonce (Core 1.0 §3.1.2.1). Optional. **旧客户端兼容兜底**:
	//  标准路径是 AuthorizeRequest.nonce(authorize 阶段持久化,交换时自动
	//  回灌 id_token)。仅当授权码上没有存储 nonce 时(旧链路 / 过渡期),
	//  IAM 才使用本字段的值。BFF 转发时 verbatim 透传,不解析、不生成。
	//  仅当 grant_type=authorization_code 且 scope 包含 "openid" 时有意义。
	Nonce       runtime.Optional[string] `json:"nonce"`
	RedirectUri runtime.Optional[string] `json:"redirect_uri"`
	// RefreshToken For refresh_token grant
	RefreshToken runtime.Optional[string] `json:"refresh_token"`
	// Scope Requested scope (optional, for narrowing)
	Scope runtime.Optional[string] `json:"scope"`
}

func (TokenRequest) MarshalJSON

func (v TokenRequest) MarshalJSON() ([]byte, error)

func (*TokenRequest) UnmarshalJSON

func (v *TokenRequest) UnmarshalJSON(data []byte) error

type TokenResponse

type TokenResponse struct {
	AccessToken runtime.Optional[string] `json:"access_token"`
	ExpiresIn   runtime.Optional[int64]  `json:"expires_in"`
	// IdToken OIDC ID Token (JWT, RS256). 仅当原始 /token 请求 scope 含 "openid"
	//  时返回;否则为空串。
	//
	//  平台采用 access_token / id_token **严格分离**的双 token 模型:
	//    - access_token:opaque 字符串,资源 API 调用 Authorization: Bearer
	//      使用,由平台网关通过 IntrospectToken 校验。
	//    - id_token:JWT,仅供客户端 / BFF **本地**验签确认登录身份
	//      (iss / sub / aud / exp / iat / nonce / auth_time)。profile、email、
	//      phone、picture 等展示资料统一用 access_token 从 UserInfo 获取。
	//
	//  严禁把 id_token 当作 Authorization: Bearer 调资源 API——平台网关
	//  不会接受 JWT 形式的 access_token,且 IntrospectToken 只认 opaque
	//  access_token。如果客户端混用,会得到 401 / introspect inactive。
	//
	//  详细模型见 site/docs/system-design/service-governance/security/
	//  oauth-token-model.md。
	IdToken runtime.Optional[string] `json:"id_token"`
	// RefreshToken Not returned for client_credentials
	RefreshToken runtime.Optional[string] `json:"refresh_token"`
	// Scope Actually granted scopes
	Scope runtime.Optional[string] `json:"scope"`
	// TokenType "Bearer"
	TokenType runtime.Optional[string] `json:"token_type"`
}

func (TokenResponse) MarshalJSON

func (v TokenResponse) MarshalJSON() ([]byte, error)

func (*TokenResponse) UnmarshalJSON

func (v *TokenResponse) UnmarshalJSON(data []byte) error

type TokenService

type TokenService struct {
	// contains filtered or unexported fields
}

func (*TokenService) Token

func (s *TokenService) Token(ctx context.Context, params TokenTokenParams, options ...runtime.RequestOption) (*TokenResponse, error)

Token Token

Exchange an authorization code, refresh token, or client credentials for tokens.

type TokenTokenParams

type TokenTokenParams struct {
	Body *TokenRequest
}

type TokenUsage

type TokenUsage struct {
	// InputTokens 输入 Token 数。
	InputTokens runtime.Optional[int64] `json:"input_tokens"`
	// Model 使用的模型标识,例如 "gpt-4o"、"claude-3-opus"。
	Model runtime.Optional[string] `json:"model"`
	// OutputTokens 输出 Token 数。
	OutputTokens runtime.Optional[int64] `json:"output_tokens"`
	// TotalTokens 总 Token 数。
	TotalTokens runtime.Optional[int64] `json:"total_tokens"`
}

TokenUsage TokenUsage reports LLM token consumption statistics.

func (TokenUsage) MarshalJSON

func (v TokenUsage) MarshalJSON() ([]byte, error)

func (*TokenUsage) UnmarshalJSON

func (v *TokenUsage) UnmarshalJSON(data []byte) error

type ToolCapability

type ToolCapability string

ToolCapability ToolCapability is a closed list of capabilities that a generation policy

may authorize. WEB_SEARCH is future-reserved; the current release authorizes
no capability and has a zero tool budget.
const (
	ToolCapabilityTOOLCAPABILITYUNSPECIFIED ToolCapability = "TOOL_CAPABILITY_UNSPECIFIED"
	ToolCapabilityTOOLCAPABILITYWEBSEARCH   ToolCapability = "TOOL_CAPABILITY_WEB_SEARCH"
)

func (ToolCapability) MarshalJSON

func (v ToolCapability) MarshalJSON() ([]byte, error)

func (*ToolCapability) UnmarshalJSON

func (v *ToolCapability) UnmarshalJSON(data []byte) error

type ToolPolicySnapshot

type ToolPolicySnapshot struct {
	// AllowedCapabilities Required. Current release is empty; WEB_SEARCH is future-reserved.
	AllowedCapabilities []ToolCapability `json:"allowed_capabilities"`
	// FreshnessWindow (OPTIONAL) Conditional. Future-reserved freshness window; absent in the current release.
	FreshnessWindow runtime.Optional[Duration] `json:"freshness_window"`
	// MaxAiTurnCount Required. Hard limit for logical AI turns across all plan revisions.
	MaxAiTurnCount int64 `json:"max_ai_turn_count"`
	// MaxCallAttemptCount Required. Future-reserved tool attempts; current release is zero.
	MaxCallAttemptCount int64 `json:"max_call_attempt_count"`
	// MaxExecutionDurationMs Required. End-to-end execution deadline in milliseconds.
	MaxExecutionDurationMs string `json:"max_execution_duration_ms"`
	// MaxPlanStepCount Required. Hard limit for steps in one plan revision.
	MaxPlanStepCount int64 `json:"max_plan_step_count"`
	// MaxReplanCount Required. Hard limit for replacement revisions; P1 fixes this to two.
	MaxReplanCount int64 `json:"max_replan_count"`
	// MaxResultBytes Required. Future-reserved result bytes; current release is zero.
	MaxResultBytes string `json:"max_result_bytes"`
	// MaxResultsPerCall Required. Future-reserved results per search call; current release is zero.
	MaxResultsPerCall int64 `json:"max_results_per_call"`
	// MaxWebSearchCallCount Required. Future-reserved web-search calls; current release is zero.
	MaxWebSearchCallCount int64 `json:"max_web_search_call_count"`
	// MaxWebSearchDurationMs Required. Future-reserved search duration in milliseconds; current release is zero.
	MaxWebSearchDurationMs string `json:"max_web_search_duration_ms"`
	// Mode Required. Current release is DISABLED; search modes are future-reserved.
	Mode ExternalInformationMode `json:"mode"`
	// PolicyVersion Required. Reviewed policy version included in the input fingerprint.
	PolicyVersion string `json:"policy_version"`
	// RequiresFreshSources Required. Future-reserved freshness flag; current release is false.
	RequiresFreshSources bool `json:"requires_fresh_sources"`
}

ToolPolicySnapshot ToolPolicySnapshot is the immutable, server-selected capability and budget

contract captured by a generation estimate.

The current release requires mode=DISABLED, an empty allowed_capabilities
list, and zero for every web-search budget. MCP server names, endpoints,
credentials, and arbitrary tool names are intentionally not modeled.

func (ToolPolicySnapshot) MarshalJSON

func (v ToolPolicySnapshot) MarshalJSON() ([]byte, error)

func (*ToolPolicySnapshot) UnmarshalJSON

func (v *ToolPolicySnapshot) UnmarshalJSON(data []byte) error

type ToutiaoConfig

type ToutiaoConfig struct {
	// Category 文章分类,例如 "科技"、"财经"。
	Category runtime.Optional[string] `json:"category"`
	// Tags 文章标签。
	Tags runtime.Optional[[]string] `json:"tags"`
}

ToutiaoConfig ToutiaoConfig 今日头条发布配置。

文章将通过头条号 API 发布。

func (ToutiaoConfig) MarshalJSON

func (v ToutiaoConfig) MarshalJSON() ([]byte, error)

func (*ToutiaoConfig) UnmarshalJSON

func (v *ToutiaoConfig) UnmarshalJSON(data []byte) error

type UnbindPlatformAccountRequest

type UnbindPlatformAccountRequest struct {
	// AccountId 要解绑的账号 ID。
	AccountId runtime.Optional[string] `json:"account_id"`
}

func (UnbindPlatformAccountRequest) MarshalJSON

func (v UnbindPlatformAccountRequest) MarshalJSON() ([]byte, error)

func (*UnbindPlatformAccountRequest) UnmarshalJSON

func (v *UnbindPlatformAccountRequest) UnmarshalJSON(data []byte) error

type UnbindPlatformAccountResponse

type UnbindPlatformAccountResponse = any

type UpdateApplicationRequest

type UpdateApplicationRequest struct {
	AllowedScopes runtime.Optional[[]string] `json:"allowed_scopes"`
	AppId         runtime.Optional[string]   `json:"app_id"`
	// AppName Deprecated: send display-field updates via the developer center.
	//  Accepted here for legacy callers; will be removed in a future major
	//  version.
	AppName runtime.Optional[string] `json:"app_name"`
	// Description Deprecated: same as app_name.
	Description runtime.Optional[string] `json:"description"`
	// HomepageUrl Deprecated: same as app_name.
	HomepageUrl runtime.Optional[string] `json:"homepage_url"`
	// LogoUrl Deprecated: same as app_name.
	LogoUrl      runtime.Optional[string]   `json:"logo_url"`
	RedirectUris runtime.Optional[[]string] `json:"redirect_uris"`
}

func (UpdateApplicationRequest) MarshalJSON

func (v UpdateApplicationRequest) MarshalJSON() ([]byte, error)

func (*UpdateApplicationRequest) UnmarshalJSON

func (v *UpdateApplicationRequest) UnmarshalJSON(data []byte) error

type UpdateApplicationResponse

type UpdateApplicationResponse struct {
	// Application OAuthApplication represents a registered third-party application.
	//
	//  Display fields (`app_name`, `description`, `homepage_url`, `logo_url`)
	//  on this message are deprecated; the developer center is the
	//  authoritative source for application display metadata. The fields
	//  remain populated on read for backward compatibility and will be
	//  removed in a future major version.
	Application runtime.Optional[*OAuthApplication] `json:"application"`
}

func (UpdateApplicationResponse) MarshalJSON

func (v UpdateApplicationResponse) MarshalJSON() ([]byte, error)

func (*UpdateApplicationResponse) UnmarshalJSON

func (v *UpdateApplicationResponse) UnmarshalJSON(data []byte) error

type UpdateArticleRequest

type UpdateArticleRequest struct {
	ArticleId     runtime.Optional[string] `json:"article_id"`
	Content       runtime.Optional[string] `json:"content"`
	CoverImageUrl runtime.Optional[string] `json:"cover_image_url"`
	Summary       runtime.Optional[string] `json:"summary"`
	// Tags 标签列表,提供时将完全替换原有标签。
	Tags  runtime.Optional[[]string] `json:"tags"`
	Title runtime.Optional[string]   `json:"title"`
}

UpdateArticleRequest UpdateArticleRequest 手动更新文章字段。使用 optional 语义:

未设置的字段不会被修改。

func (UpdateArticleRequest) MarshalJSON

func (v UpdateArticleRequest) MarshalJSON() ([]byte, error)

func (*UpdateArticleRequest) UnmarshalJSON

func (v *UpdateArticleRequest) UnmarshalJSON(data []byte) error

type UpdateArticleResponse

type UpdateArticleResponse struct {
	// Article Article represents a piece of text content (article, post, etc.).
	//  Article 是图文创作的核心实体,同一篇文章可能同时存在 Markdown 和 HTML 两个版本。
	Article runtime.Optional[*Article] `json:"article"`
}

func (UpdateArticleResponse) MarshalJSON

func (v UpdateArticleResponse) MarshalJSON() ([]byte, error)

func (*UpdateArticleResponse) UnmarshalJSON

func (v *UpdateArticleResponse) UnmarshalJSON(data []byte) error

type UpdateCategoryPreferenceRequest

type UpdateCategoryPreferenceRequest struct {
	// Etag Required. Optimistic concurrency validator read from the singleton.
	Etag string `json:"etag"`
	// RulesText Required. Complete replacement text; empty explicitly clears the rules.
	RulesText string `json:"rules_text"`
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string `json:"user_id"`
}

func (UpdateCategoryPreferenceRequest) MarshalJSON

func (v UpdateCategoryPreferenceRequest) MarshalJSON() ([]byte, error)

func (*UpdateCategoryPreferenceRequest) UnmarshalJSON

func (v *UpdateCategoryPreferenceRequest) UnmarshalJSON(data []byte) error

type UpdateCategoryPreferenceResponse

type UpdateCategoryPreferenceResponse struct {
	// CategoryPreference Required. Singleton after replacement or explicit clearing.
	CategoryPreference *CategoryPreference `json:"category_preference"`
}

func (UpdateCategoryPreferenceResponse) MarshalJSON

func (v UpdateCategoryPreferenceResponse) MarshalJSON() ([]byte, error)

func (*UpdateCategoryPreferenceResponse) UnmarshalJSON

func (v *UpdateCategoryPreferenceResponse) UnmarshalJSON(data []byte) error

type UpdateEmailRequest

type UpdateEmailRequest struct {
	NewEmail         runtime.Optional[string] `json:"new_email"`
	VerificationCode runtime.Optional[string] `json:"verification_code"`
}

func (UpdateEmailRequest) MarshalJSON

func (v UpdateEmailRequest) MarshalJSON() ([]byte, error)

func (*UpdateEmailRequest) UnmarshalJSON

func (v *UpdateEmailRequest) UnmarshalJSON(data []byte) error

type UpdateEmailResponse

type UpdateEmailResponse = any

type UpdateMemberRoleRequest

type UpdateMemberRoleRequest struct {
	OrgId runtime.Optional[string] `json:"org_id"`
	// Role OrganizationMemberRole governs the actions a member may take within the
	//  organization. Authorization decisions are delegated to AuthZService.Check;
	//  these values are the canonical role identifiers stored on the row.
	Role   runtime.Optional[OrganizationMemberRole] `json:"role"`
	UserId runtime.Optional[string]                 `json:"user_id"`
}

func (UpdateMemberRoleRequest) MarshalJSON

func (v UpdateMemberRoleRequest) MarshalJSON() ([]byte, error)

func (*UpdateMemberRoleRequest) UnmarshalJSON

func (v *UpdateMemberRoleRequest) UnmarshalJSON(data []byte) error

type UpdateMemberRoleResponse

type UpdateMemberRoleResponse struct {
	// Member OrganizationMember is a (org, user) edge with a role and lifecycle status.
	//
	//  The role taxonomy (owner / admin / member) is the SAME WORDS as the
	//  application-level membership role surfaced by the developer center;
	//  the two live at different scopes and do not transitively grant each
	//  other.
	Member runtime.Optional[*OrganizationMember] `json:"member"`
}

func (UpdateMemberRoleResponse) MarshalJSON

func (v UpdateMemberRoleResponse) MarshalJSON() ([]byte, error)

func (*UpdateMemberRoleResponse) UnmarshalJSON

func (v *UpdateMemberRoleResponse) UnmarshalJSON(data []byte) error

type UpdateOAuthClientRequest

type UpdateOAuthClientRequest struct {
	AllowedGrantTypes runtime.Optional[[]GrantType]    `json:"allowed_grant_types"`
	AllowedIdentities runtime.Optional[[]IdentityType] `json:"allowed_identities"`
	AllowedScopes     runtime.Optional[[]string]       `json:"allowed_scopes"`
	AppId             runtime.Optional[string]         `json:"app_id"`
	ClientId          runtime.Optional[string]         `json:"client_id"`
	// ClientType ClientCredentialType describes whether an OAuth client can keep a secret.
	ClientType   runtime.Optional[ClientCredentialType] `json:"client_type"`
	Description  runtime.Optional[string]               `json:"description"`
	Name         runtime.Optional[string]               `json:"name"`
	RedirectUris runtime.Optional[[]string]             `json:"redirect_uris"`
	// Status ClientCredentialStatus represents the lifecycle state of one OAuth client.
	Status runtime.Optional[ClientCredentialStatus] `json:"status"`
	// UpdateMask `FieldMask` represents a set of symbolic field paths, for example:
	//
	//      paths: "f.a"
	//      paths: "f.b.d"
	//
	//  Here `f` represents a field in some root message, `a` and `b`
	//  fields in the message found in `f`, and `d` a field found in the
	//  message in `f.b`.
	//
	//  Field masks are used to specify a subset of fields that should be
	//  returned by a get operation or modified by an update operation.
	//  Field masks also have a custom JSON encoding (see below).
	//
	//  # Field Masks in Projections
	//
	//  When used in the context of a projection, a response message or
	//  sub-message is filtered by the API to only contain those fields as
	//  specified in the mask. For example, if the mask in the previous
	//  example is applied to a response message as follows:
	//
	//      f {
	//        a : 22
	//        b {
	//          d : 1
	//          x : 2
	//        }
	//        y : 13
	//      }
	//      z: 8
	//
	//  The result will not contain specific values for fields x,y and z
	//  (their value will be set to the default, and omitted in proto text
	//  output):
	//
	//
	//      f {
	//        a : 22
	//        b {
	//          d : 1
	//        }
	//      }
	//
	//  A repeated field is not allowed except at the last position of a
	//  paths string.
	//
	//  If a FieldMask object is not present in a get operation, the
	//  operation applies to all fields (as if a FieldMask of all fields
	//  had been specified).
	//
	//  Note that a field mask does not necessarily apply to the
	//  top-level response message. In case of a REST get operation, the
	//  field mask applies directly to the response, but in case of a REST
	//  list operation, the mask instead applies to each individual message
	//  in the returned resource list. In case of a REST custom method,
	//  other definitions may be used. Where the mask applies will be
	//  clearly documented together with its declaration in the API.  In
	//  any case, the effect on the returned resource/resources is required
	//  behavior for APIs.
	//
	//  # Field Masks in Update Operations
	//
	//  A field mask in update operations specifies which fields of the
	//  targeted resource are going to be updated. The API is required
	//  to only change the values of the fields as specified in the mask
	//  and leave the others untouched. If a resource is passed in to
	//  describe the updated values, the API ignores the values of all
	//  fields not covered by the mask.
	//
	//  If a repeated field is specified for an update operation, new values will
	//  be appended to the existing repeated field in the target resource. Note that
	//  a repeated field is only allowed in the last position of a `paths` string.
	//
	//  If a sub-message is specified in the last position of the field mask for an
	//  update operation, then new value will be merged into the existing sub-message
	//  in the target resource.
	//
	//  For example, given the target message:
	//
	//      f {
	//        b {
	//          d: 1
	//          x: 2
	//        }
	//        c: [1]
	//      }
	//
	//  And an update message:
	//
	//      f {
	//        b {
	//          d: 10
	//        }
	//        c: [2]
	//      }
	//
	//  then if the field mask is:
	//
	//   paths: ["f.b", "f.c"]
	//
	//  then the result will be:
	//
	//      f {
	//        b {
	//          d: 10
	//          x: 2
	//        }
	//        c: [1, 2]
	//      }
	//
	//  An implementation may provide options to override this default behavior for
	//  repeated and message fields.
	//
	//  Note that libraries which implement FieldMask resolution have various
	//  different behaviors in the face of empty masks or the special "*" mask.
	//  When implementing a service you should confirm these cases have the
	//  appropriate behavior in the underlying FieldMask library that you desire,
	//  and you may need to special case those cases in your application code if
	//  the underlying field mask library behavior differs from your intended
	//  service semantics.
	//
	//  Update methods implementing https://google.aip.dev/134
	//  - MUST support the special value * meaning "full replace"
	//  - MUST treat an omitted field mask as "replace fields which are present".
	//
	//  Other methods implementing https://google.aip.dev/157
	//  - SHOULD support the special value "*" to mean "get all".
	//  - MUST treat an omitted field mask to mean "get all", unless otherwise
	//  documented.
	//
	//  ## Considerations for HTTP REST
	//
	//  The HTTP kind of an update operation which uses a field mask must
	//  be set to PATCH instead of PUT in order to satisfy HTTP semantics
	//  (PUT must only be used for full updates).
	//
	//  # JSON Encoding of Field Masks
	//
	//  In JSON, a field mask is encoded as a single string where paths are
	//  separated by a comma. Fields name in each path are converted
	//  to/from lower-camel naming conventions.
	//
	//  As an example, consider the following message declarations:
	//
	//      message Profile {
	//        User user = 1;
	//        Photo photo = 2;
	//      }
	//      message User {
	//        string display_name = 1;
	//        string address = 2;
	//      }
	//
	//  In proto a field mask for `Profile` may look as such:
	//
	//      mask {
	//        paths: "user.display_name"
	//        paths: "photo"
	//      }
	//
	//  In JSON, the same mask is represented as below:
	//
	//      {
	//        mask: "user.displayName,photo"
	//      }
	//
	//  # Field Masks and Oneof Fields
	//
	//  Field masks treat fields in oneofs just as regular fields. Consider the
	//  following message:
	//
	//      message SampleMessage {
	//        oneof test_oneof {
	//          string name = 4;
	//          SubMessage sub_message = 9;
	//        }
	//      }
	//
	//  The field mask can be:
	//
	//      mask {
	//        paths: "name"
	//      }
	//
	//  Or:
	//
	//      mask {
	//        paths: "sub_message"
	//      }
	//
	//  Note that oneof type names ("test_oneof" in this case) cannot be used in
	//  paths.
	//
	//  ## Field Mask Verification
	//
	//  The implementation of any API method which has a FieldMask type field in the
	//  request should verify the included field paths, and return an
	//  `INVALID_ARGUMENT` error if any path is unmappable.
	UpdateMask runtime.Optional[FieldMask] `json:"update_mask"`
}

func (UpdateOAuthClientRequest) MarshalJSON

func (v UpdateOAuthClientRequest) MarshalJSON() ([]byte, error)

func (*UpdateOAuthClientRequest) UnmarshalJSON

func (v *UpdateOAuthClientRequest) UnmarshalJSON(data []byte) error

type UpdateOAuthClientResponse

type UpdateOAuthClientResponse struct {
	// Client OAuthClient is one credential atom owned by IAM. An application may own
	//  multiple clients; app_id and client_id must therefore be used together for
	//  every management operation.
	//
	//  Secret material and secret hashes are deliberately absent from this read
	//  model. Plaintext is returned exactly once by create and rotate responses.
	Client runtime.Optional[*OAuthClient] `json:"client"`
}

func (UpdateOAuthClientResponse) MarshalJSON

func (v UpdateOAuthClientResponse) MarshalJSON() ([]byte, error)

func (*UpdateOAuthClientResponse) UnmarshalJSON

func (v *UpdateOAuthClientResponse) UnmarshalJSON(data []byte) error

type UpdateOrganizationRequest

type UpdateOrganizationRequest struct {
	OrgId runtime.Optional[string] `json:"org_id"`
	// Organization The (potentially partial) replacement values. Fields outside update_mask
	//  are ignored. Empty mask is rejected (INVALID_ARGUMENT) to prevent
	//  accidental full-replace semantics.
	Organization runtime.Optional[*Organization] `json:"organization"`
	// UpdateMask Allowed paths: name, slug, status, metadata. Other paths return
	//  INVALID_ARGUMENT.
	UpdateMask runtime.Optional[FieldMask] `json:"update_mask"`
}

func (UpdateOrganizationRequest) MarshalJSON

func (v UpdateOrganizationRequest) MarshalJSON() ([]byte, error)

func (*UpdateOrganizationRequest) UnmarshalJSON

func (v *UpdateOrganizationRequest) UnmarshalJSON(data []byte) error

type UpdateOrganizationResponse

type UpdateOrganizationResponse struct {
	// Organization Organization is one of the two concrete tenant forms (the other is
	//  Workspace).
	//
	//  `org_id` is an opaque entity-id with the `org` prefix and shares the
	//  platform-wide `tenant_id` value space with workspace ids. Consumers
	//  must treat it as opaque — no parsing, no length assumptions,
	//  byte-exact case-sensitive comparison.
	Organization runtime.Optional[*Organization] `json:"organization"`
}

func (UpdateOrganizationResponse) MarshalJSON

func (v UpdateOrganizationResponse) MarshalJSON() ([]byte, error)

func (*UpdateOrganizationResponse) UnmarshalJSON

func (v *UpdateOrganizationResponse) UnmarshalJSON(data []byte) error

type UpdatePhoneRequest

type UpdatePhoneRequest struct {
	NewPhone         runtime.Optional[string] `json:"new_phone"`
	VerificationCode runtime.Optional[string] `json:"verification_code"`
}

func (UpdatePhoneRequest) MarshalJSON

func (v UpdatePhoneRequest) MarshalJSON() ([]byte, error)

func (*UpdatePhoneRequest) UnmarshalJSON

func (v *UpdatePhoneRequest) UnmarshalJSON(data []byte) error

type UpdatePhoneResponse

type UpdatePhoneResponse = any

type UpdateProfileRequest

type UpdateProfileRequest struct {
	Bio runtime.Optional[string] `json:"bio"`
	// DefaultApiVersion Optional. Empty string clears the pin; a "YYYY-MM-DD" string sets it.
	//  Both the write here and every subsequent read are validated against
	//  the platform's published API version registry.
	DefaultApiVersion runtime.Optional[string] `json:"default_api_version"`
	// HomeAddress Optional. Empty string clears the field; a non-empty value (up to
	//  512 chars after server-side validation) sets it. See
	//  GetProfileResponse.home_address for semantics.
	HomeAddress runtime.Optional[string] `json:"home_address"`
	Location    runtime.Optional[string] `json:"location"`
	Name        runtime.Optional[string] `json:"name"`
	Website     runtime.Optional[string] `json:"website"`
	// WorkAddress Optional. Same semantics as home_address but for the workplace.
	WorkAddress runtime.Optional[string] `json:"work_address"`
}

func (UpdateProfileRequest) MarshalJSON

func (v UpdateProfileRequest) MarshalJSON() ([]byte, error)

func (*UpdateProfileRequest) UnmarshalJSON

func (v *UpdateProfileRequest) UnmarshalJSON(data []byte) error

type UpdateProfileResponse

type UpdateProfileResponse struct {
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
}

func (UpdateProfileResponse) MarshalJSON

func (v UpdateProfileResponse) MarshalJSON() ([]byte, error)

func (*UpdateProfileResponse) UnmarshalJSON

func (v *UpdateProfileResponse) UnmarshalJSON(data []byte) error

type UpdateProjectRequest

type UpdateProjectRequest struct {
	Description runtime.Optional[string] `json:"description"`
	// Metadata 元数据,提供时将合并到已有元数据(相同 key 覆盖)。
	Metadata  runtime.Optional[map[string]string] `json:"metadata"`
	Name      runtime.Optional[string]            `json:"name"`
	ProjectId runtime.Optional[string]            `json:"project_id"`
	Status    runtime.Optional[ProjectStatus]     `json:"status"`
	// Tags 标签列表,提供时将完全替换原有标签。
	Tags runtime.Optional[[]string] `json:"tags"`
}

UpdateProjectRequest UpdateProjectRequest 更新项目字段。使用 optional 语义:

未设置的字段不会被修改。

func (UpdateProjectRequest) MarshalJSON

func (v UpdateProjectRequest) MarshalJSON() ([]byte, error)

func (*UpdateProjectRequest) UnmarshalJSON

func (v *UpdateProjectRequest) UnmarshalJSON(data []byte) error

type UpdateProjectRequestMetadataEntry

type UpdateProjectRequestMetadataEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (UpdateProjectRequestMetadataEntry) MarshalJSON

func (v UpdateProjectRequestMetadataEntry) MarshalJSON() ([]byte, error)

func (*UpdateProjectRequestMetadataEntry) UnmarshalJSON

func (v *UpdateProjectRequestMetadataEntry) UnmarshalJSON(data []byte) error

type UpdateProjectResponse

type UpdateProjectResponse struct {
	// Project Project groups related creative content together.
	//  Project 是创作的顶层聚合单元,一个项目包含多篇文章、多个视频任务和多个素材。
	//  典型场景:一次营销活动、一个专题系列、一期内容排期。
	Project runtime.Optional[*Project] `json:"project"`
}

func (UpdateProjectResponse) MarshalJSON

func (v UpdateProjectResponse) MarshalJSON() ([]byte, error)

func (*UpdateProjectResponse) UnmarshalJSON

func (v *UpdateProjectResponse) UnmarshalJSON(data []byte) error

type UpdateScopeRequest

type UpdateScopeRequest struct {
	Category    runtime.Optional[string] `json:"category"`
	Description runtime.Optional[string] `json:"description"`
	DisplayName runtime.Optional[string] `json:"display_name"`
	IsSensitive runtime.Optional[bool]   `json:"is_sensitive"`
	// Name Identifies which scope to update
	Name runtime.Optional[string] `json:"name"`
}

func (UpdateScopeRequest) MarshalJSON

func (v UpdateScopeRequest) MarshalJSON() ([]byte, error)

func (*UpdateScopeRequest) UnmarshalJSON

func (v *UpdateScopeRequest) UnmarshalJSON(data []byte) error

type UpdateScopeResponse

type UpdateScopeResponse struct {
	// Scope Scope defines a permission boundary for OAuth access control.
	Scope runtime.Optional[*Scope] `json:"scope"`
}

func (UpdateScopeResponse) MarshalJSON

func (v UpdateScopeResponse) MarshalJSON() ([]byte, error)

func (*UpdateScopeResponse) UnmarshalJSON

func (v *UpdateScopeResponse) UnmarshalJSON(data []byte) error

type UpdateVertexAPIKeyRequest added in v0.61.0

type UpdateVertexAPIKeyRequest struct {
	AllowedModels   runtime.Optional[[]string] `json:"allowed_models"`
	ApiKeyId        runtime.Optional[string]   `json:"api_key_id"`
	ExpectedVersion runtime.Optional[string]   `json:"expected_version"`
	// ExpiresAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	ExpiresAt runtime.Optional[Timestamp]          `json:"expires_at"`
	Name      runtime.Optional[string]             `json:"name"`
	Status    runtime.Optional[VertexAPIKeyStatus] `json:"status"`
}

func (UpdateVertexAPIKeyRequest) MarshalJSON added in v0.61.0

func (v UpdateVertexAPIKeyRequest) MarshalJSON() ([]byte, error)

func (*UpdateVertexAPIKeyRequest) UnmarshalJSON added in v0.61.0

func (v *UpdateVertexAPIKeyRequest) UnmarshalJSON(data []byte) error

type UpdateVertexAPIKeyResponse added in v0.61.0

type UpdateVertexAPIKeyResponse struct {
	// Key VertexAPIKey contains non-secret metadata only. Identity bindings are immutable.
	Key runtime.Optional[*VertexAPIKey] `json:"key"`
}

func (UpdateVertexAPIKeyResponse) MarshalJSON added in v0.61.0

func (v UpdateVertexAPIKeyResponse) MarshalJSON() ([]byte, error)

func (*UpdateVertexAPIKeyResponse) UnmarshalJSON added in v0.61.0

func (v *UpdateVertexAPIKeyResponse) UnmarshalJSON(data []byte) error

type UpdateWebhookRequest

type UpdateWebhookRequest struct {
	// Status WebhookStatus represents the state of a webhook endpoint.
	Status           runtime.Optional[WebhookStatus] `json:"status"`
	SubscribedEvents runtime.Optional[[]string]      `json:"subscribed_events"`
	Url              runtime.Optional[string]        `json:"url"`
	WebhookId        runtime.Optional[string]        `json:"webhook_id"`
}

func (UpdateWebhookRequest) MarshalJSON

func (v UpdateWebhookRequest) MarshalJSON() ([]byte, error)

func (*UpdateWebhookRequest) UnmarshalJSON

func (v *UpdateWebhookRequest) UnmarshalJSON(data []byte) error

type UpdateWebhookResponse

type UpdateWebhookResponse struct {
	// Webhook Webhook represents a registered webhook endpoint.
	Webhook runtime.Optional[*Webhook] `json:"webhook"`
}

func (UpdateWebhookResponse) MarshalJSON

func (v UpdateWebhookResponse) MarshalJSON() ([]byte, error)

func (*UpdateWebhookResponse) UnmarshalJSON

func (v *UpdateWebhookResponse) UnmarshalJSON(data []byte) error

type UploadAssetRequest

type UploadAssetRequest struct {
	// ContentType MIME 类型,例如 "image/png"、"video/mp4"。
	ContentType runtime.Optional[string] `json:"content_type"`
	// Data 文件二进制数据。
	Data runtime.Optional[string] `json:"data"`
	// Filename 原始文件名。
	Filename runtime.Optional[string] `json:"filename"`
	// Metadata 扩展元数据。
	Metadata runtime.Optional[map[string]string] `json:"metadata"`
	// ProjectId 所属项目 ID。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// WechatMpCredentials 微信公众号 API 调用凭证。
	//  当 server 需要把素材上传到微信公众号素材库时必填(图片 / 视频 / 缩略图)。
	//  详见 WechatMpCredentials 设计说明(types.proto)。
	WechatMpCredentials runtime.Optional[*WechatMpCredentials] `json:"wechat_mp_credentials"`
}

UploadAssetRequest UploadAssetRequest 直接通过 gRPC 上传小文件(建议 < 4MB)。

大文件请使用 GenerateUploadUrl + ConfirmUpload 流程。

func (UploadAssetRequest) MarshalJSON

func (v UploadAssetRequest) MarshalJSON() ([]byte, error)

func (*UploadAssetRequest) UnmarshalJSON

func (v *UploadAssetRequest) UnmarshalJSON(data []byte) error

type UploadAssetRequestMetadataEntry

type UploadAssetRequestMetadataEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (UploadAssetRequestMetadataEntry) MarshalJSON

func (v UploadAssetRequestMetadataEntry) MarshalJSON() ([]byte, error)

func (*UploadAssetRequestMetadataEntry) UnmarshalJSON

func (v *UploadAssetRequestMetadataEntry) UnmarshalJSON(data []byte) error

type UploadAssetResponse

type UploadAssetResponse struct {
	// Asset 上传成功后返回的素材信息(含 asset_id 和 url)。
	Asset runtime.Optional[*Asset] `json:"asset"`
}

func (UploadAssetResponse) MarshalJSON

func (v UploadAssetResponse) MarshalJSON() ([]byte, error)

func (*UploadAssetResponse) UnmarshalJSON

func (v *UploadAssetResponse) UnmarshalJSON(data []byte) error

type UploadAvatarRequest

type UploadAvatarRequest struct {
	// ContentType e.g. "image/png", "image/jpeg"
	ContentType runtime.Optional[string] `json:"content_type"`
	ImageData   runtime.Optional[string] `json:"image_data"`
}

func (UploadAvatarRequest) MarshalJSON

func (v UploadAvatarRequest) MarshalJSON() ([]byte, error)

func (*UploadAvatarRequest) UnmarshalJSON

func (v *UploadAvatarRequest) UnmarshalJSON(data []byte) error

type UploadAvatarResponse

type UploadAvatarResponse struct {
	// AvatarUrl Pre-signed URL for the 1024×1024 WebP primary variant.
	AvatarUrl runtime.Optional[string] `json:"avatar_url"`
	// ExpiresAt Common expiration for avatar_url and all variant_urls.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	// MediaId Opaque platform.Media id (prefix `med`). Cache client-side so
	//  future refreshes can skip GetProfile.
	MediaId runtime.Optional[string] `json:"media_id"`
	// VariantUrls Variant key -> pre-signed URL for smaller renditions. Keys are
	//  decimal-stringified pixel sizes (e.g. "256", "64").
	VariantUrls runtime.Optional[map[string]string] `json:"variant_urls"`
}

func (UploadAvatarResponse) MarshalJSON

func (v UploadAvatarResponse) MarshalJSON() ([]byte, error)

func (*UploadAvatarResponse) UnmarshalJSON

func (v *UploadAvatarResponse) UnmarshalJSON(data []byte) error

type UploadAvatarResponseVariantUrlsEntry

type UploadAvatarResponseVariantUrlsEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (UploadAvatarResponseVariantUrlsEntry) MarshalJSON

func (v UploadAvatarResponseVariantUrlsEntry) MarshalJSON() ([]byte, error)

func (*UploadAvatarResponseVariantUrlsEntry) UnmarshalJSON

func (v *UploadAvatarResponseVariantUrlsEntry) UnmarshalJSON(data []byte) error

type UploadEstimate

type UploadEstimate struct {
	// AuthorizedMaxCredit Required. Immutable maximum net charge confirmed for the original batch.
	AuthorizedMaxCredit string `json:"authorized_max_credit"`
	// BalanceSufficient Required. Whether the balance covers authorized_max_credit.
	BalanceSufficient bool `json:"balance_sufficient"`
	// CreatedAt Required. Durable estimate creation time.
	CreatedAt Timestamp `json:"created_at"`
	// CurrentBalanceCredit Required. Wallet balance snapshot at estimate creation.
	CurrentBalanceCredit string `json:"current_balance_credit"`
	// ExpiresAt Required. Time after which remaining items cannot be consumed.
	ExpiresAt Timestamp `json:"expires_at"`
	// InputFingerprint Required. SHA-256 of the original normalized declarations.
	InputFingerprint string `json:"input_fingerprint"`
	// Items Required. Original ordered item positions, including purged tombstones.
	Items []*UploadEstimateItem `json:"items"`
	// PricingVersion Required. Public file-service pricing contract version.
	PricingVersion string `json:"pricing_version"`
	// RemainingEstimatedFileCredit Required. File estimate across current non-purged items.
	RemainingEstimatedFileCredit string `json:"remaining_estimated_file_credit"`
	// RemainingFileCount Required. Count of current non-purged items.
	RemainingFileCount int64 `json:"remaining_file_count"`
	// RemainingTotalSizeBytes Required. Declared bytes across current non-purged items.
	RemainingTotalSizeBytes string `json:"remaining_total_size_bytes"`
	// State Required. Derived batch lifecycle state.
	State UploadEstimateState `json:"state"`
	// UploadEstimateId Required. Opaque upload estimate identifier.
	UploadEstimateId string `json:"upload_estimate_id"`
}

UploadEstimate UploadEstimate is a durable, short-lived batch estimate created before any

multipart upload, signed URL, reserve, or object exists.

func (UploadEstimate) MarshalJSON

func (v UploadEstimate) MarshalJSON() ([]byte, error)

func (*UploadEstimate) UnmarshalJSON

func (v *UploadEstimate) UnmarshalJSON(data []byte) error

type UploadEstimateDeclaration

type UploadEstimateDeclaration struct {
	// DeclaredMediaType Required. Client-declared MIME used for validation and estimation.
	DeclaredMediaType string `json:"declared_media_type"`
	// DeclaredSha256 Required. Lowercase hexadecimal SHA-256 of the complete file.
	DeclaredSha256 string `json:"declared_sha256"`
	// DeclaredSizeBytes Required. Declared complete-file size, from 1 to 50,000,000 bytes.
	DeclaredSizeBytes string `json:"declared_size_bytes"`
	// DisplayName Required. Sanitized user-visible basename, from 1 to 255 characters.
	DisplayName string `json:"display_name"`
}

UploadEstimateDeclaration UploadEstimateDeclaration is one client file declaration priced as an

immutable item before any multipart session or signed URL exists.

func (UploadEstimateDeclaration) MarshalJSON

func (v UploadEstimateDeclaration) MarshalJSON() ([]byte, error)

func (*UploadEstimateDeclaration) UnmarshalJSON

func (v *UploadEstimateDeclaration) UnmarshalJSON(data []byte) error

type UploadEstimateItem

type UploadEstimateItem struct {
	// ConsumedUploadId (OPTIONAL) Conditional. Required in CONSUMED and omitted after CONTENT_PURGED.
	ConsumedUploadId runtime.Optional[string] `json:"consumed_upload_id"`
	// DeclaredMediaType (OPTIONAL) Conditional. Required in AVAILABLE or CONSUMED; omitted after CONTENT_PURGED.
	DeclaredMediaType runtime.Optional[string] `json:"declared_media_type"`
	// DeclaredSha256 (OPTIONAL) Conditional. Required in AVAILABLE or CONSUMED; omitted after CONTENT_PURGED.
	DeclaredSha256 runtime.Optional[string] `json:"declared_sha256"`
	// DeclaredSizeBytes (OPTIONAL) Conditional. Required in AVAILABLE or CONSUMED; omitted after CONTENT_PURGED.
	DeclaredSizeBytes runtime.Optional[string] `json:"declared_size_bytes"`
	// DisplayName (OPTIONAL) Conditional. Required in AVAILABLE or CONSUMED; omitted after CONTENT_PURGED.
	DisplayName runtime.Optional[string] `json:"display_name"`
	// EstimateItemId Required. Opaque item identifier allocated within the estimate.
	EstimateItemId string `json:"estimate_item_id"`
	// State Required. Current item lifecycle state.
	State UploadEstimateItemState `json:"state"`
}

UploadEstimateItem UploadEstimateItem is one immutable declared file position in an upload

estimate batch. Content-bearing fields are suppressed after CONTENT_PURGED.

func (UploadEstimateItem) MarshalJSON

func (v UploadEstimateItem) MarshalJSON() ([]byte, error)

func (*UploadEstimateItem) UnmarshalJSON

func (v *UploadEstimateItem) UnmarshalJSON(data []byte) error

type UploadEstimateItemState

type UploadEstimateItemState string

UploadEstimateItemState UploadEstimateItemState is the lifecycle of a position in an upload

estimate. CONTENT_PURGED suppresses all content-bearing fields.
const (
	UploadEstimateItemStateUPLOADESTIMATEITEMSTATEUNSPECIFIED   UploadEstimateItemState = "UPLOAD_ESTIMATE_ITEM_STATE_UNSPECIFIED"
	UploadEstimateItemStateUPLOADESTIMATEITEMSTATEAVAILABLE     UploadEstimateItemState = "UPLOAD_ESTIMATE_ITEM_STATE_AVAILABLE"
	UploadEstimateItemStateUPLOADESTIMATEITEMSTATECONSUMED      UploadEstimateItemState = "UPLOAD_ESTIMATE_ITEM_STATE_CONSUMED"
	UploadEstimateItemStateUPLOADESTIMATEITEMSTATECONTENTPURGED UploadEstimateItemState = "UPLOAD_ESTIMATE_ITEM_STATE_CONTENT_PURGED"
)

func (UploadEstimateItemState) MarshalJSON

func (v UploadEstimateItemState) MarshalJSON() ([]byte, error)

func (*UploadEstimateItemState) UnmarshalJSON

func (v *UploadEstimateItemState) UnmarshalJSON(data []byte) error

type UploadEstimateState

type UploadEstimateState string

UploadEstimateState UploadEstimateState is the derived lifecycle of an upload estimate batch.

const (
	UploadEstimateStateUPLOADESTIMATESTATEUNSPECIFIED       UploadEstimateState = "UPLOAD_ESTIMATE_STATE_UNSPECIFIED"
	UploadEstimateStateUPLOADESTIMATESTATEACTIVE            UploadEstimateState = "UPLOAD_ESTIMATE_STATE_ACTIVE"
	UploadEstimateStateUPLOADESTIMATESTATEPARTIALLYCONSUMED UploadEstimateState = "UPLOAD_ESTIMATE_STATE_PARTIALLY_CONSUMED"
	UploadEstimateStateUPLOADESTIMATESTATECONSUMED          UploadEstimateState = "UPLOAD_ESTIMATE_STATE_CONSUMED"
	UploadEstimateStateUPLOADESTIMATESTATEEXPIRED           UploadEstimateState = "UPLOAD_ESTIMATE_STATE_EXPIRED"
)

func (UploadEstimateState) MarshalJSON

func (v UploadEstimateState) MarshalJSON() ([]byte, error)

func (*UploadEstimateState) UnmarshalJSON

func (v *UploadEstimateState) UnmarshalJSON(data []byte) error

type UploadSession

type UploadSession struct {
	// CostSummary Required. FILE_UPLOAD estimate, authorization, and settlement summary.
	CostSummary *CostSummary `json:"cost_summary"`
	// CreatedAt Required. Durable session creation time.
	CreatedAt Timestamp `json:"created_at"`
	// DeclaredMediaType Required. Declared MIME copied from the immutable estimate item.
	DeclaredMediaType string `json:"declared_media_type"`
	// DeclaredSha256 Required. Declared complete-file SHA-256 copied from the estimate item.
	DeclaredSha256 string `json:"declared_sha256"`
	// DeclaredSizeBytes Required. Declared bytes copied from the immutable estimate item.
	DeclaredSizeBytes string `json:"declared_size_bytes"`
	// DisplayName Required. Sanitized display name copied from the immutable estimate item.
	DisplayName string `json:"display_name"`
	// ExpiresAt Required. Expiry time for an unfinished session.
	ExpiresAt Timestamp `json:"expires_at"`
	// FailureReason (OPTIONAL) Conditional. Required in REJECTED or FAILED; stable and provider-safe.
	FailureReason runtime.Optional[string] `json:"failure_reason"`
	// MaterialId (OPTIONAL) Conditional. Required in COMPLETED and absent in other states.
	MaterialId runtime.Optional[string] `json:"material_id"`
	// PartCount (OPTIONAL) Conditional. Present with part_size_bytes after the multipart plan is established.
	PartCount runtime.Optional[int64] `json:"part_count"`
	// PartSizeBytes (OPTIONAL) Conditional. Present with part_count after the multipart plan is established.
	PartSizeBytes runtime.Optional[string] `json:"part_size_bytes"`
	// Status Required. Current public upload lifecycle.
	Status UploadStatus `json:"status"`
	// UploadId Required. Opaque PinPage upload session identifier.
	UploadId string `json:"upload_id"`
	// UploadedParts Required. Authoritative persisted parts; an empty list before any upload.
	UploadedParts []*UploadedPart `json:"uploaded_parts"`
}

UploadSession UploadSession is the durable, resumable public multipart fact. It excludes

provider upload identifiers, object-storage keys, and credentials.

func (UploadSession) MarshalJSON

func (v UploadSession) MarshalJSON() ([]byte, error)

func (*UploadSession) UnmarshalJSON

func (v *UploadSession) UnmarshalJSON(data []byte) error

type UploadStatus

type UploadStatus string

UploadStatus UploadStatus is the public multipart upload lifecycle.

const (
	UploadStatusUPLOADSTATUSUNSPECIFIED UploadStatus = "UPLOAD_STATUS_UNSPECIFIED"
	UploadStatusUPLOADSTATUSOPENING     UploadStatus = "UPLOAD_STATUS_OPENING"
	UploadStatusUPLOADSTATUSOPEN        UploadStatus = "UPLOAD_STATUS_OPEN"
	UploadStatusUPLOADSTATUSCOMPLETING  UploadStatus = "UPLOAD_STATUS_COMPLETING"
	UploadStatusUPLOADSTATUSCOMPLETED   UploadStatus = "UPLOAD_STATUS_COMPLETED"
	UploadStatusUPLOADSTATUSABORTING    UploadStatus = "UPLOAD_STATUS_ABORTING"
	UploadStatusUPLOADSTATUSABORTED     UploadStatus = "UPLOAD_STATUS_ABORTED"
	UploadStatusUPLOADSTATUSEXPIRED     UploadStatus = "UPLOAD_STATUS_EXPIRED"
	UploadStatusUPLOADSTATUSREJECTED    UploadStatus = "UPLOAD_STATUS_REJECTED"
	UploadStatusUPLOADSTATUSFAILED      UploadStatus = "UPLOAD_STATUS_FAILED"
)

func (UploadStatus) MarshalJSON

func (v UploadStatus) MarshalJSON() ([]byte, error)

func (*UploadStatus) UnmarshalJSON

func (v *UploadStatus) UnmarshalJSON(data []byte) error

type UploadedPart

type UploadedPart struct {
	// Etag Required. Provider ETag preserved byte-for-byte.
	Etag string `json:"etag"`
	// PartNumber Required. Multipart part number.
	PartNumber int64 `json:"part_number"`
	// SizeBytes Required. Actual part size confirmed by object storage.
	SizeBytes string `json:"size_bytes"`
}

UploadedPart UploadedPart is one authoritative part confirmed by object storage and

persisted into the upload session.

func (UploadedPart) MarshalJSON

func (v UploadedPart) MarshalJSON() ([]byte, error)

func (*UploadedPart) UnmarshalJSON

func (v *UploadedPart) UnmarshalJSON(data []byte) error

type UserBrief

type UserBrief struct {
	Avatar runtime.Optional[string] `json:"avatar"`
	Email  runtime.Optional[string] `json:"email"`
	Name   runtime.Optional[string] `json:"name"`
	Phone  runtime.Optional[string] `json:"phone"`
	UserId runtime.Optional[string] `json:"user_id"`
}

UserBrief UserBrief is a minimal user representation returned in auth responses.

func (UserBrief) MarshalJSON

func (v UserBrief) MarshalJSON() ([]byte, error)

func (*UserBrief) UnmarshalJSON

func (v *UserBrief) UnmarshalJSON(data []byte) error

type UserProfile

type UserProfile struct {
	// Email OIDC email claim。
	Email runtime.Optional[string] `json:"email"`
	// EmailVerified OIDC email_verified claim。
	EmailVerified runtime.Optional[bool] `json:"email_verified"`
	// Name OIDC name claim — 用户全名(可能空)。
	Name runtime.Optional[string] `json:"name"`
	// PhoneNumber OIDC phone_number claim — 国际 E.164 格式,如 "+8613800138000"。
	PhoneNumber runtime.Optional[string] `json:"phone_number"`
	// PhoneNumberVerified OIDC phone_number_verified claim。
	PhoneNumberVerified runtime.Optional[bool] `json:"phone_number_verified"`
	// Picture OIDC picture claim — MediaService 生成的临时 HTTPS 图片资源直链。
	//  IAM 数据库只保存 media_id;输出 UserInfo profile 前必须解析并校验为
	//  image/* 资源的预签名 URL,约 15 分钟过期。解析失败时 omit,禁止回退为
	//  media_id、网页 URL 或永久 URL,避免被当作公共图床。
	Picture runtime.Optional[string] `json:"picture"`
	// PreferredUsername OIDC preferred_username claim — IAM 不分 name 和 preferred_username,
	//  两个字段都填 user.name。客户端 UI 选其一显示即可。
	PreferredUsername runtime.Optional[string] `json:"preferred_username"`
	// Sub OIDC sub claim(= IAM user_id)。冗余字段,调用方可直接用
	//  IntrospectTokenResponse.user_id;保留在 profile 里方便 BFF 直接序列
	//  化成 OIDC claims JSON 不需要再拼。
	Sub runtime.Optional[string] `json:"sub"`
	// UpdatedAt OIDC updated_at claim — 秒级 Unix 时间戳,user 信息最近一次修改时间。
	UpdatedAt runtime.Optional[string] `json:"updated_at"`
}

UserProfile UserProfile 是 OIDC userinfo 标准 claims 的 IAM 视图。字段对齐

OpenID Connect Core 1.0 §5.4 Standard Claims。空 / 未知字段一律省略
(proto3 zero-value 自然 omit),与 OIDC userinfo HTTP 端点的语义一致。

仅作为 IntrospectTokenResponse.profile 的载体,让 BFF 在一次
IntrospectToken RPC 内拿齐 userinfo 所需的全部 claims,避免再调
UserService.GetProfile。

func (UserProfile) MarshalJSON

func (v UserProfile) MarshalJSON() ([]byte, error)

func (*UserProfile) UnmarshalJSON

func (v *UserProfile) UnmarshalJSON(data []byte) error

type UserStatus

type UserStatus string

UserStatus UserStatus represents the account status.

const (
	UserStatusUSERSTATUSUNSPECIFIED UserStatus = "USER_STATUS_UNSPECIFIED"
	UserStatusUSERSTATUSACTIVE      UserStatus = "USER_STATUS_ACTIVE"
	UserStatusUSERSTATUSSUSPENDED   UserStatus = "USER_STATUS_SUSPENDED"
	UserStatusUSERSTATUSDELETED     UserStatus = "USER_STATUS_DELETED"
)

func (UserStatus) MarshalJSON

func (v UserStatus) MarshalJSON() ([]byte, error)

func (*UserStatus) UnmarshalJSON

func (v *UserStatus) UnmarshalJSON(data []byte) error

type UsersService

type UsersService struct {
	// contains filtered or unexported fields
}

func (*UsersService) GetProfile

func (s *UsersService) GetProfile(ctx context.Context, options ...runtime.RequestOption) (*GetProfileResponse, error)

GetProfile Get the authenticated user's profile.

GetProfileRequest is empty — caller identity comes from the OAuth

access token. `me` in the URL is a reserved word meaning
"holder of the current token"; substituting `/v1/users/{user_id}`
is rejected with 403 PERMISSION_DENIED.

type VerificationPurpose

type VerificationPurpose string

VerificationPurpose VerificationPurpose indicates why the code is being sent.

const (
	VerificationPurposeVERIFICATIONPURPOSEUNSPECIFIED   VerificationPurpose = "VERIFICATION_PURPOSE_UNSPECIFIED"
	VerificationPurposeVERIFICATIONPURPOSEREGISTER      VerificationPurpose = "VERIFICATION_PURPOSE_REGISTER"
	VerificationPurposeVERIFICATIONPURPOSELOGIN         VerificationPurpose = "VERIFICATION_PURPOSE_LOGIN"
	VerificationPurposeVERIFICATIONPURPOSERESETPASSWORD VerificationPurpose = "VERIFICATION_PURPOSE_RESET_PASSWORD"
	VerificationPurposeVERIFICATIONPURPOSEVERIFYEMAIL   VerificationPurpose = "VERIFICATION_PURPOSE_VERIFY_EMAIL"
	VerificationPurposeVERIFICATIONPURPOSEVERIFYPHONE   VerificationPurpose = "VERIFICATION_PURPOSE_VERIFY_PHONE"
)

func (VerificationPurpose) MarshalJSON

func (v VerificationPurpose) MarshalJSON() ([]byte, error)

func (*VerificationPurpose) UnmarshalJSON

func (v *VerificationPurpose) UnmarshalJSON(data []byte) error

type VerificationType

type VerificationType string

VerificationType VerificationType indicates the channel for verification code delivery.

const (
	VerificationTypeVERIFICATIONTYPEUNSPECIFIED VerificationType = "VERIFICATION_TYPE_UNSPECIFIED"
	VerificationTypeVERIFICATIONTYPEEMAIL       VerificationType = "VERIFICATION_TYPE_EMAIL"
	VerificationTypeVERIFICATIONTYPEPHONE       VerificationType = "VERIFICATION_TYPE_PHONE"
)

func (VerificationType) MarshalJSON

func (v VerificationType) MarshalJSON() ([]byte, error)

func (*VerificationType) UnmarshalJSON

func (v *VerificationType) UnmarshalJSON(data []byte) error

type VerifyEmailRequest

type VerifyEmailRequest struct {
	VerificationCode runtime.Optional[string] `json:"verification_code"`
}

func (VerifyEmailRequest) MarshalJSON

func (v VerifyEmailRequest) MarshalJSON() ([]byte, error)

func (*VerifyEmailRequest) UnmarshalJSON

func (v *VerifyEmailRequest) UnmarshalJSON(data []byte) error

type VerifyEmailResponse

type VerifyEmailResponse = any

type VerifyPhoneRequest

type VerifyPhoneRequest struct {
	VerificationCode runtime.Optional[string] `json:"verification_code"`
}

func (VerifyPhoneRequest) MarshalJSON

func (v VerifyPhoneRequest) MarshalJSON() ([]byte, error)

func (*VerifyPhoneRequest) UnmarshalJSON

func (v *VerifyPhoneRequest) UnmarshalJSON(data []byte) error

type VerifyPhoneResponse

type VerifyPhoneResponse = any

type VerifyPlatformAccountRequest

type VerifyPlatformAccountRequest struct {
	// Credentials 平台凭证,键值对格式。
	//  微信公众号: {"appid": "...", "appsecret": "..."}
	Credentials runtime.Optional[map[string]string] `json:"credentials"`
	// Platform 目标平台。
	Platform runtime.Optional[Platform] `json:"platform"`
}

VerifyPlatformAccountRequest VerifyPlatformAccountRequest 验证平台账号凭证是否有效。

用于在正式发布前检查凭证可用性,例如验证微信公众号的 appid/appsecret。

func (VerifyPlatformAccountRequest) MarshalJSON

func (v VerifyPlatformAccountRequest) MarshalJSON() ([]byte, error)

func (*VerifyPlatformAccountRequest) UnmarshalJSON

func (v *VerifyPlatformAccountRequest) UnmarshalJSON(data []byte) error

type VerifyPlatformAccountRequestCredentialsEntry

type VerifyPlatformAccountRequestCredentialsEntry struct {
	Key   runtime.Optional[string] `json:"key"`
	Value runtime.Optional[string] `json:"value"`
}

func (VerifyPlatformAccountRequestCredentialsEntry) MarshalJSON

func (*VerifyPlatformAccountRequestCredentialsEntry) UnmarshalJSON

func (v *VerifyPlatformAccountRequestCredentialsEntry) UnmarshalJSON(data []byte) error

type VerifyPlatformAccountResponse

type VerifyPlatformAccountResponse struct {
	// DisplayName 验证通过时返回的账号名称(如公众号名称)。
	DisplayName runtime.Optional[string] `json:"display_name"`
	// ErrorMessage 验证失败时的错误信息。
	ErrorMessage runtime.Optional[string] `json:"error_message"`
	// Valid 凭证是否有效。
	Valid runtime.Optional[bool] `json:"valid"`
}

func (VerifyPlatformAccountResponse) MarshalJSON

func (v VerifyPlatformAccountResponse) MarshalJSON() ([]byte, error)

func (*VerifyPlatformAccountResponse) UnmarshalJSON

func (v *VerifyPlatformAccountResponse) UnmarshalJSON(data []byte) error

type VerifyService

type VerifyService struct {
	// contains filtered or unexported fields
}

func (*VerifyService) VerifyPlatformAccount

VerifyPlatformAccount VerifyPlatformAccount

验证平台账号凭证是否有效。

用于在正式绑定或发布前检查凭证可用性。

type VerifyVerifyPlatformAccountParams

type VerifyVerifyPlatformAccountParams struct {
	Body *VerifyPlatformAccountRequest
}

type VerifyVertexAPIKeyRequest added in v0.61.0

type VerifyVertexAPIKeyRequest struct {
	ApiKey runtime.Optional[string] `json:"api_key"`
	// Model Exact requested model, no wildcard or provider-resolved substitution.
	Model runtime.Optional[string] `json:"model"`
}

VerifyVertexAPIKeyRequest Contains a secret. Request/response body logging and caching are prohibited.

func (VerifyVertexAPIKeyRequest) MarshalJSON added in v0.61.0

func (v VerifyVertexAPIKeyRequest) MarshalJSON() ([]byte, error)

func (*VerifyVertexAPIKeyRequest) UnmarshalJSON added in v0.61.0

func (v *VerifyVertexAPIKeyRequest) UnmarshalJSON(data []byte) error

type VerifyVertexAPIKeyResponse added in v0.61.0

type VerifyVertexAPIKeyResponse struct {
	// Key Metadata of the authenticated key; no hash or plaintext credential.
	//  This metadata is not a wallet delegation and must never be treated as one.
	Key runtime.Optional[*VertexAPIKey] `json:"key"`
}

func (VerifyVertexAPIKeyResponse) MarshalJSON added in v0.61.0

func (v VerifyVertexAPIKeyResponse) MarshalJSON() ([]byte, error)

func (*VerifyVertexAPIKeyResponse) UnmarshalJSON added in v0.61.0

func (v *VerifyVertexAPIKeyResponse) UnmarshalJSON(data []byte) error

type VerifyVertexToolCredentialRequest added in v0.62.0

type VerifyVertexToolCredentialRequest struct {
	ApiKey runtime.Optional[string] `json:"api_key"`
}

VerifyVertexToolCredentialRequest Contains a secret: never log, trace, cache or persist its body.

No owner, model, amount or requested grants may be supplied by the caller.

func (VerifyVertexToolCredentialRequest) MarshalJSON added in v0.62.0

func (v VerifyVertexToolCredentialRequest) MarshalJSON() ([]byte, error)

func (*VerifyVertexToolCredentialRequest) UnmarshalJSON added in v0.62.0

func (v *VerifyVertexToolCredentialRequest) UnmarshalJSON(data []byte) error

type VerifyVertexToolCredentialResponse added in v0.62.0

type VerifyVertexToolCredentialResponse struct {
	// Key Authenticated metadata only; not a wallet or paid-tool delegation.
	Key runtime.Optional[*VertexAPIKey] `json:"key"`
}

func (VerifyVertexToolCredentialResponse) MarshalJSON added in v0.62.0

func (v VerifyVertexToolCredentialResponse) MarshalJSON() ([]byte, error)

func (*VerifyVertexToolCredentialResponse) UnmarshalJSON added in v0.62.0

func (v *VerifyVertexToolCredentialResponse) UnmarshalJSON(data []byte) error

type VersionArtifact

type VersionArtifact struct {
	// ExportId Required. Opaque persisted export artifact identifier.
	ExportId string `json:"export_id"`
	// Format Required. PDF or PNG; unique within the version.
	Format ExportFormat `json:"format"`
	// Sha256 Required. SHA-256 of the validated artifact.
	Sha256 string `json:"sha256"`
	// SizeBytes Required. Actual persisted artifact size in bytes.
	SizeBytes string `json:"size_bytes"`
}

VersionArtifact VersionArtifact is immutable metadata for one validated artifact published

with a page version.

func (VersionArtifact) MarshalJSON

func (v VersionArtifact) MarshalJSON() ([]byte, error)

func (*VersionArtifact) UnmarshalJSON

func (v *VersionArtifact) UnmarshalJSON(data []byte) error

type VersionsGetPageVersionParams

type VersionsGetPageVersionParams struct {
	// PageId Required. Owning page identifier.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// VersionId Required. Version identifier that must belong to page_id.
	VersionId string
}

type VersionsListPageVersionsParams

type VersionsListPageVersionsParams struct {
	// PageId Required. Owning page identifier.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// OrderBy Optional. sequence_number desc (default) or sequence_number asc.
	OrderBy   runtime.Optional[string]
	PageSize  runtime.Optional[int64]
	PageToken runtime.Optional[string]
}

type VersionsRestorePageVersionBody

type VersionsRestorePageVersionBody struct {
	// ExpectedContentRevision Required. Page content revision observed before the write.
	ExpectedContentRevision string `json:"expectedContentRevision"`
	// ExpectedCurrentVersionId Required. Current version observed before the write.
	ExpectedCurrentVersionId string `json:"expectedCurrentVersionId"`
	// PageEtag (OPTIONAL) Optional. Exact representation validator requested by the client.
	PageEtag runtime.Optional[string] `json:"pageEtag"`
}

func (VersionsRestorePageVersionBody) MarshalJSON

func (v VersionsRestorePageVersionBody) MarshalJSON() ([]byte, error)

func (*VersionsRestorePageVersionBody) UnmarshalJSON

func (v *VersionsRestorePageVersionBody) UnmarshalJSON(data []byte) error

type VersionsRestorePageVersionParams

type VersionsRestorePageVersionParams struct {
	// PageId Required. Owning page identifier.
	PageId string
	// UserId Required. Owner path; accepts me or the authenticated user's identifier.
	UserId string
	// VersionId Required. Historical version to make current.
	VersionId string
	// XIdempotencyKey Required opaque idempotency key for this operation.
	XIdempotencyKey string
	Body            *VersionsRestorePageVersionBody
}

type VersionsService

type VersionsService struct {
	// contains filtered or unexported fields
}

func (*VersionsService) GetPageVersion

GetPageVersion GetPageVersion

Return one complete immutable version, including validated HTML.

page_id: Required. Owning page identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

version_id: Required. Version identifier that must belong to page_id.

func (*VersionsService) ListPageVersions

ListPageVersions ListPageVersions

List immutable published-version summaries for one page.

page_id: Required. Owning page identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

orderBy: Optional. sequence_number desc (default) or sequence_number asc.

func (*VersionsService) ListPageVersionsAll

func (*VersionsService) RestorePageVersion

RestorePageVersion RestorePageVersion

Make one immutable historical version current without creating a job.

page_id: Required. Owning page identifier.

user_id: Required. Owner path; accepts me or the authenticated user's identifier.

version_id: Required. Historical version to make current.

X-Idempotency-Key: Required opaque idempotency key for this operation.

type VertexAPIKey added in v0.61.0

type VertexAPIKey struct {
	// AllowedModels Exact requested model IDs; nonempty, no wildcard. No privilege escalation
	//  through user-supplied internal identity or application headers.
	AllowedModels runtime.Optional[[]string] `json:"allowed_models"`
	ApiKeyId      runtime.Optional[string]   `json:"api_key_id"`
	CallerService runtime.Optional[string]   `json:"caller_service"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	CreatedBy runtime.Optional[string]    `json:"created_by"`
	// ExpiresAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	ExpiresAt runtime.Optional[Timestamp] `json:"expires_at"`
	KeyPrefix runtime.Optional[string]    `json:"key_prefix"`
	Name      runtime.Optional[string]    `json:"name"`
	// OwnerUserId IAM user charged and audited for calls made with this key.
	OwnerUserId runtime.Optional[string]             `json:"owner_user_id"`
	Status      runtime.Optional[VertexAPIKeyStatus] `json:"status"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
	// Version Optimistic concurrency version. Update/Delete require the current value.
	Version runtime.Optional[string] `json:"version"`
}

VertexAPIKey VertexAPIKey contains non-secret metadata only. Identity bindings are immutable.

func (VertexAPIKey) MarshalJSON added in v0.61.0

func (v VertexAPIKey) MarshalJSON() ([]byte, error)

func (*VertexAPIKey) UnmarshalJSON added in v0.61.0

func (v *VertexAPIKey) UnmarshalJSON(data []byte) error

type VertexAPIKeyStatus added in v0.61.0

type VertexAPIKeyStatus string
const (
	VertexAPIKeyStatusVERTEXAPIKEYSTATUSUNSPECIFIED VertexAPIKeyStatus = "VERTEX_API_KEY_STATUS_UNSPECIFIED"
	VertexAPIKeyStatusVERTEXAPIKEYSTATUSACTIVE      VertexAPIKeyStatus = "VERTEX_API_KEY_STATUS_ACTIVE"
	VertexAPIKeyStatusVERTEXAPIKEYSTATUSDISABLED    VertexAPIKeyStatus = "VERTEX_API_KEY_STATUS_DISABLED"
)

func (VertexAPIKeyStatus) MarshalJSON added in v0.61.0

func (v VertexAPIKeyStatus) MarshalJSON() ([]byte, error)

func (*VertexAPIKeyStatus) UnmarshalJSON added in v0.61.0

func (v *VertexAPIKeyStatus) UnmarshalJSON(data []byte) error

type VertexDelegationCredential added in v0.61.0

type VertexDelegationCredential struct {
	ApiKey runtime.Optional[string] `json:"api_key"`
	Model  runtime.Optional[string] `json:"model"`
}

func (VertexDelegationCredential) MarshalJSON added in v0.61.0

func (v VertexDelegationCredential) MarshalJSON() ([]byte, error)

func (*VertexDelegationCredential) UnmarshalJSON added in v0.61.0

func (v *VertexDelegationCredential) UnmarshalJSON(data []byte) error

type VertexToolDelegationCredential added in v0.62.0

type VertexToolDelegationCredential struct {
	ApiKey runtime.Optional[string] `json:"api_key"`
	// Sku Exact registered SKU (e.g. web_search.basic), no wildcard. Must be bound
	//  into the signed proof and enforced by Vertex and Billing against the
	//  accepted operation and actual settlement usage. Never a model alias.
	Sku runtime.Optional[string] `json:"sku"`
}

func (VertexToolDelegationCredential) MarshalJSON added in v0.62.0

func (v VertexToolDelegationCredential) MarshalJSON() ([]byte, error)

func (*VertexToolDelegationCredential) UnmarshalJSON added in v0.62.0

func (v *VertexToolDelegationCredential) UnmarshalJSON(data []byte) error

type VideoStatus

type VideoStatus string

VideoStatus VideoStatus indicates the state of a video generation task.

视频生成是异步多阶段流程,状态反映当前所处阶段。
状态流转: PENDING → GENERATING_SCRIPT → GENERATING_ASSETS → COMPOSITING → COMPLETED / FAILED
const (
	VideoStatusVIDEOSTATUSUNSPECIFIED      VideoStatus = "VIDEO_STATUS_UNSPECIFIED"
	VideoStatusVIDEOSTATUSPENDING          VideoStatus = "VIDEO_STATUS_PENDING"
	VideoStatusVIDEOSTATUSGENERATINGSCRIPT VideoStatus = "VIDEO_STATUS_GENERATING_SCRIPT"
	VideoStatusVIDEOSTATUSGENERATINGASSETS VideoStatus = "VIDEO_STATUS_GENERATING_ASSETS"
	VideoStatusVIDEOSTATUSCOMPOSITING      VideoStatus = "VIDEO_STATUS_COMPOSITING"
	VideoStatusVIDEOSTATUSCOMPLETED        VideoStatus = "VIDEO_STATUS_COMPLETED"
	VideoStatusVIDEOSTATUSFAILED           VideoStatus = "VIDEO_STATUS_FAILED"
)

func (VideoStatus) MarshalJSON

func (v VideoStatus) MarshalJSON() ([]byte, error)

func (*VideoStatus) UnmarshalJSON

func (v *VideoStatus) UnmarshalJSON(data []byte) error

type VideoStyle

type VideoStyle string

VideoStyle VideoStyle indicates the visual style for video generation.

不同风格对应不同的视频生成流水线和模板。
const (
	VideoStyleVIDEOSTYLEUNSPECIFIED VideoStyle = "VIDEO_STYLE_UNSPECIFIED"
	VideoStyleVIDEOSTYLESLIDESHOW   VideoStyle = "VIDEO_STYLE_SLIDESHOW"
	VideoStyleVIDEOSTYLETALKINGHEAD VideoStyle = "VIDEO_STYLE_TALKING_HEAD"
	VideoStyleVIDEOSTYLEEXPLAINER   VideoStyle = "VIDEO_STYLE_EXPLAINER"
	VideoStyleVIDEOSTYLEHIGHLIGHT   VideoStyle = "VIDEO_STYLE_HIGHLIGHT"
)

func (VideoStyle) MarshalJSON

func (v VideoStyle) MarshalJSON() ([]byte, error)

func (*VideoStyle) UnmarshalJSON

func (v *VideoStyle) UnmarshalJSON(data []byte) error

type VideoTask

type VideoTask struct {
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// DurationSeconds 视频时长(秒)。
	DurationSeconds runtime.Optional[int64] `json:"duration_seconds"`
	// ErrorMessage 失败原因,status=FAILED 时填充。
	ErrorMessage runtime.Optional[string] `json:"error_message"`
	// ProgressPercent 生成进度百分比(0-100)。
	ProgressPercent runtime.Optional[int64] `json:"progress_percent"`
	// ProjectId 所属项目 ID。
	ProjectId runtime.Optional[string] `json:"project_id"`
	// Script LLM 生成的视频脚本。
	Script runtime.Optional[string] `json:"script"`
	// Status 当前任务状态。
	Status runtime.Optional[VideoStatus] `json:"status"`
	// Style 视频风格。
	Style runtime.Optional[VideoStyle] `json:"style"`
	// TaskId 任务唯一标识。
	TaskId runtime.Optional[string] `json:"task_id"`
	// ThumbnailUrl 视频缩略图 URL。
	ThumbnailUrl runtime.Optional[string] `json:"thumbnail_url"`
	// Title 视频标题。
	Title runtime.Optional[string] `json:"title"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
	// VideoUrl 最终视频 URL,status=COMPLETED 时可用。
	VideoUrl runtime.Optional[string] `json:"video_url"`
}

VideoTask VideoTask represents a video generation job.

视频生成是异步任务,客户端提交后通过轮询 GetVideoTask 获取进度。

func (VideoTask) MarshalJSON

func (v VideoTask) MarshalJSON() ([]byte, error)

func (*VideoTask) UnmarshalJSON

func (v *VideoTask) UnmarshalJSON(data []byte) error

type Webhook

type Webhook struct {
	AppId runtime.Optional[string] `json:"app_id"`
	// CreatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	CreatedAt runtime.Optional[Timestamp] `json:"created_at"`
	// SigningSecretMasked Only last 4 chars visible
	SigningSecretMasked runtime.Optional[string] `json:"signing_secret_masked"`
	// Status WebhookStatus represents the state of a webhook endpoint.
	Status runtime.Optional[WebhookStatus] `json:"status"`
	// SubscribedEvents e.g. "project.created", "article.published"
	SubscribedEvents runtime.Optional[[]string] `json:"subscribed_events"`
	// UpdatedAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	UpdatedAt runtime.Optional[Timestamp] `json:"updated_at"`
	Url       runtime.Optional[string]    `json:"url"`
	WebhookId runtime.Optional[string]    `json:"webhook_id"`
}

Webhook Webhook represents a registered webhook endpoint.

func (Webhook) MarshalJSON

func (v Webhook) MarshalJSON() ([]byte, error)

func (*Webhook) UnmarshalJSON

func (v *Webhook) UnmarshalJSON(data []byte) error

type WebhookDelivery

type WebhookDelivery struct {
	// DeliveredAt A Timestamp represents a point in time independent of any time zone or local
	//  calendar, encoded as a count of seconds and fractions of seconds at
	//  nanosecond resolution. The count is relative to an epoch at UTC midnight on
	//  January 1, 1970, in the proleptic Gregorian calendar which extends the
	//  Gregorian calendar backwards to year one.
	//
	//  All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
	//  second table is needed for interpretation, using a [24-hour linear
	//  smear](https://developers.google.com/time/smear).
	//
	//  The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
	//  restricting to that range, we ensure that we can convert to and from [RFC
	//  3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
	//
	//  # Examples
	//
	//  Example 1: Compute Timestamp from POSIX `time()`.
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(time(NULL));
	//      timestamp.set_nanos(0);
	//
	//  Example 2: Compute Timestamp from POSIX `gettimeofday()`.
	//
	//      struct timeval tv;
	//      gettimeofday(&tv, NULL);
	//
	//      Timestamp timestamp;
	//      timestamp.set_seconds(tv.tv_sec);
	//      timestamp.set_nanos(tv.tv_usec * 1000);
	//
	//  Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
	//
	//      FILETIME ft;
	//      GetSystemTimeAsFileTime(&ft);
	//      UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
	//
	//      // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
	//      // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
	//      Timestamp timestamp;
	//      timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
	//      timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
	//
	//  Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
	//
	//      long millis = System.currentTimeMillis();
	//
	//      Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
	//          .setNanos((int) ((millis % 1000) * 1000000)).build();
	//
	//  Example 5: Compute Timestamp from Java `Instant.now()`.
	//
	//      Instant now = Instant.now();
	//
	//      Timestamp timestamp =
	//          Timestamp.newBuilder().setSeconds(now.getEpochSecond())
	//              .setNanos(now.getNano()).build();
	//
	//  Example 6: Compute Timestamp from current time in Python.
	//
	//      timestamp = Timestamp()
	//      timestamp.GetCurrentTime()
	//
	//  # JSON Mapping
	//
	//  In JSON format, the Timestamp type is encoded as a string in the
	//  [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
	//  format is "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z"
	//  where {year} is always expressed using four digits while {month}, {day},
	//  {hour}, {min}, and {sec} are zero-padded to two digits each. The fractional
	//  seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
	//  are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
	//  is required. A ProtoJSON serializer should always use UTC (as indicated by
	//  "Z") when printing the Timestamp type and a ProtoJSON parser should be
	//  able to accept both UTC and other timezones (as indicated by an offset).
	//
	//  For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
	//  01:30 UTC on January 15, 2017.
	//
	//  In JavaScript, one can convert a Date object to this format using the
	//  standard
	//  [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
	//  method. In Python, a standard `datetime.datetime` object can be converted
	//  to this format using
	//  [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
	//  the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
	//  the Joda Time's [`ISODateTimeFormat.dateTime()`](
	//  http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
	//  ) to obtain a formatter capable of generating timestamps in this format.
	DeliveredAt runtime.Optional[Timestamp] `json:"delivered_at"`
	DeliveryId  runtime.Optional[string]    `json:"delivery_id"`
	// DurationMs Round-trip time
	DurationMs runtime.Optional[int64] `json:"duration_ms"`
	// ErrorMessage Set on failure
	ErrorMessage runtime.Optional[string] `json:"error_message"`
	EventType    runtime.Optional[string] `json:"event_type"`
	// ResponseBody Truncated response body for debugging
	ResponseBody runtime.Optional[string] `json:"response_body"`
	// ResponseStatus HTTP status code from the receiver
	ResponseStatus runtime.Optional[int64] `json:"response_status"`
	// Status DeliveryStatus represents the outcome of a webhook delivery attempt.
	Status    runtime.Optional[DeliveryStatus] `json:"status"`
	WebhookId runtime.Optional[string]         `json:"webhook_id"`
}

WebhookDelivery WebhookDelivery records a single delivery attempt.

func (WebhookDelivery) MarshalJSON

func (v WebhookDelivery) MarshalJSON() ([]byte, error)

func (*WebhookDelivery) UnmarshalJSON

func (v *WebhookDelivery) UnmarshalJSON(data []byte) error

type WebhookStatus

type WebhookStatus string

WebhookStatus WebhookStatus represents the state of a webhook endpoint.

const (
	WebhookStatusWEBHOOKSTATUSUNSPECIFIED WebhookStatus = "WEBHOOK_STATUS_UNSPECIFIED"
	WebhookStatusWEBHOOKSTATUSACTIVE      WebhookStatus = "WEBHOOK_STATUS_ACTIVE"
	WebhookStatusWEBHOOKSTATUSDISABLED    WebhookStatus = "WEBHOOK_STATUS_DISABLED"
)

func (WebhookStatus) MarshalJSON

func (v WebhookStatus) MarshalJSON() ([]byte, error)

func (*WebhookStatus) UnmarshalJSON

func (v *WebhookStatus) UnmarshalJSON(data []byte) error

type WechatMpConfig

type WechatMpConfig struct {
	// Author 文章作者名。
	Author runtime.Optional[string] `json:"author"`
	// Digest 图文消息摘要,未填写时默认截取正文前 120 字。
	Digest runtime.Optional[string] `json:"digest"`
	// NeedOpenComment 是否开启文章评论功能。
	NeedOpenComment runtime.Optional[bool] `json:"need_open_comment"`
	// ShowCoverPic 是否在正文中显示封面图。
	ShowCoverPic runtime.Optional[bool] `json:"show_cover_pic"`
}

WechatMpConfig WechatMpConfig 微信公众号发布配置。

对应微信公众平台"新建图文消息"的参数。

func (WechatMpConfig) MarshalJSON

func (v WechatMpConfig) MarshalJSON() ([]byte, error)

func (*WechatMpConfig) UnmarshalJSON

func (v *WechatMpConfig) UnmarshalJSON(data []byte) error

type WechatMpCredentials

type WechatMpCredentials struct {
	// AppId 微信公众号 AppID(形如 "wxbd099e0f2e27cca4",18 位)。
	AppId runtime.Optional[string] `json:"app_id"`
	// AppSecret 微信公众号 AppSecret(32 位十六进制)。**敏感字段,禁止落日志**。
	AppSecret runtime.Optional[string] `json:"app_secret"`
}

WechatMpCredentials WechatMpCredentials 微信公众号 API 调用凭证。

由调用方在请求体中提供,server 端用于调用微信公众号开放 API(上传素材 /
创建草稿 / 群发等)。**业务凭证是请求的固有属性,应随请求体传输**,不应
放在 HTTP header 中——HTTP header 在跨网关 / 多跳 RPC 时透传策略不一定
可靠,且不受 proto 类型 / 必填校验保护,审计日志透明度也差。

注意:app_secret 是敏感凭证,server 端日志 / 错误响应 / wire dump 必须脱敏。

func (WechatMpCredentials) MarshalJSON

func (v WechatMpCredentials) MarshalJSON() ([]byte, error)

func (*WechatMpCredentials) UnmarshalJSON

func (v *WechatMpCredentials) UnmarshalJSON(data []byte) error

type YuqueConfig

type YuqueConfig struct {
	// BookId 目标知识库 ID。
	BookId runtime.Optional[string] `json:"book_id"`
	// PublicAccess 是否公开访问。
	PublicAccess runtime.Optional[bool] `json:"public_access"`
	// Slug 文档路径(slug),用于生成文档 URL。
	Slug runtime.Optional[string] `json:"slug"`
}

YuqueConfig YuqueConfig 语雀发布配置。

文章将发布到指定的语雀知识库。

func (YuqueConfig) MarshalJSON

func (v YuqueConfig) MarshalJSON() ([]byte, error)

func (*YuqueConfig) UnmarshalJSON

func (v *YuqueConfig) UnmarshalJSON(data []byte) error

type ZhihuConfig

type ZhihuConfig struct {
	// ColumnId 目标专栏 ID。
	ColumnId runtime.Optional[string] `json:"column_id"`
	// TopicIds 关联的话题 ID 列表。
	TopicIds runtime.Optional[[]string] `json:"topic_ids"`
}

ZhihuConfig ZhihuConfig 知乎发布配置。

文章将发布到指定的知乎专栏。

func (ZhihuConfig) MarshalJSON

func (v ZhihuConfig) MarshalJSON() ([]byte, error)

func (*ZhihuConfig) UnmarshalJSON

func (v *ZhihuConfig) UnmarshalJSON(data []byte) error

Directories

Path Synopsis
Package runtime implements the standard-library-only AppForges transport and codecs.
Package runtime implements the standard-library-only AppForges transport and codecs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL