@madewithremy/admin 0.1.46 → 0.1.47

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ What changed in `@madewithremy/admin`, newest first, each version under its own
4
4
 
5
5
  Versions before 0.1.44 aren't recorded here.
6
6
 
7
+ ## 0.1.47
8
+
9
+ ### New
10
+
11
+ - `remy-admin db history` (`admin.db.history`): the app's releases that were ever live, newest first, each with `liveFrom` and `liveUntil` and its databases. A deploy keeps the release it replaces, database and all, as it stood at that moment, so each is a copy of live as of its `liveUntil`.
12
+ - `remy-admin db history query <releaseId> <sql>` (`admin.db.historyQuery`): read-only SQL against a past release's database, which nothing can change.
13
+ - `remy-admin db history attach <releaseId> <sql>` (`admin.db.historyAttach`): SQL against live with a past release's database attached as the schema `history`, so a repair from it is one statement on live. `remy-admin db --help` says how a recovery from a past copy goes.
14
+
15
+ ### Changed behavior
16
+
17
+ - `remy-admin files sign` (`admin.files.sign`): a private object's link lasts three hours at most where it's a storage presign rather than the deployment's private CDN, however long a `--ttl` asks for, and `expiresAt` says when it actually expires. A presign carries the credentials that signed it, which on the cloud's pod identity last no longer, so a longer one stopped working early whatever it said. Check: a handoff that sends a link to be opened more than three hours later.
18
+
7
19
  ## 0.1.46
8
20
 
9
21
  ### Changed behavior
package/dist/index.d.ts CHANGED
@@ -4107,7 +4107,39 @@ declare namespace dataSourceMappers {
4107
4107
  * POST /db/query → roles/http/routes/Apps/manage/dbQuery.ts
4108
4108
  * AppDatabasesDao.executeSqlBatch returns
4109
4109
  * Array<{ rows: any[]; changes: number }>
4110
- */
4110
+ * GET /db/history → the same file, over ReleasesDao.listPublishedReleases
4111
+ * (PublishedRelease, AppReleases/types/release.ts)
4112
+ * POST /db/history/query, /db/history/attach → the same file; answered as
4113
+ * /db/query is
4114
+ */
4115
+ /**
4116
+ * Response from GET /_internal/v2/apps/:appId/db/history: the app's releases
4117
+ * that were ever live, newest first, with the window each was live for.
4118
+ */
4119
+ interface DbHistoryResult {
4120
+ copies: Array<{
4121
+ releaseId: string;
4122
+ commitSha: string;
4123
+ /** First line of the release's commit message. */
4124
+ subject: string;
4125
+ /** When the release went live (ISO). */
4126
+ liveFrom: string;
4127
+ /**
4128
+ * When the next release replaced it (ISO): its database holds live as it
4129
+ * stood at that moment. Null for the release live now.
4130
+ */
4131
+ liveUntil: string | null;
4132
+ /** The release live now, whose database is live: query it with `db query`. */
4133
+ current: boolean;
4134
+ /** The release's databases; history commands use the one named as live's default. */
4135
+ databases: Array<{
4136
+ id: string;
4137
+ name: string;
4138
+ }>;
4139
+ }>;
4140
+ /** Pass back as `cursor` for the next page; null on the last one. */
4141
+ nextCursor: string | null;
4142
+ }
4111
4143
  /**
4112
4144
  * Response from POST /_internal/v2/apps/:appId/db/query.
4113
4145
  * Used by both 'db query' and 'db tables'. Row values are database-specific
@@ -4161,10 +4193,65 @@ interface DbQueryResult {
4161
4193
  * const { results } = await admin.db.query('SELECT * FROM users LIMIT 10');
4162
4194
  */
4163
4195
  declare function query(ctx: AdminContext, sql: string): Promise<DbQueryResult>;
4196
+ interface DbHistoryParams {
4197
+ /** Max releases to return per page (default 20, clamped 1–100). */
4198
+ limit?: number;
4199
+ /** `nextCursor` from the previous page. */
4200
+ cursor?: string;
4201
+ }
4202
+ /**
4203
+ * The app's releases that were ever live, newest first, each with the window
4204
+ * it was live for and its databases.
4205
+ *
4206
+ * A deploy copies live into the new release and keeps the release it
4207
+ * replaces, database and all, as it stood at that moment. So each entry's
4208
+ * database is live as of its `liveUntil`; the release live now heads the list
4209
+ * with `current: true`. Nothing between two deploys is kept.
4210
+ *
4211
+ * @throws AdminApiError `invalid_request` (400) — `limit` isn't an integer.
4212
+ * @example
4213
+ * const { copies } = await admin.db.history({ limit: 10 });
4214
+ */
4215
+ declare function history(ctx: AdminContext, params?: DbHistoryParams): Promise<DbHistoryResult>;
4216
+ /**
4217
+ * Run one SQL statement, read-only, against a past release's database (the
4218
+ * one named as live's default), as it stood when that release was replaced.
4219
+ * Nothing can change it: a write is refused with `sql_error`.
4220
+ *
4221
+ * @param releaseId A release from `history()` that isn't `current`.
4222
+ * @throws AdminApiError `release_not_found` (404) — no release of this app
4223
+ * that was ever live has that id; `release_is_live` (400) — it's the live
4224
+ * release, so use `query`; `no_database` (404) — that release has no
4225
+ * database of live's name; `no_live_release` (404) — the app isn't
4226
+ * deployed; `sql_error` (400) — the database refused the statement,
4227
+ * a write included.
4228
+ * @example
4229
+ * const { results } = await admin.db.historyQuery(releaseId, 'SELECT count(*) AS n FROM orders');
4230
+ */
4231
+ declare function historyQuery(ctx: AdminContext, releaseId: string, sql: string): Promise<DbQueryResult>;
4232
+ /**
4233
+ * Run one SQL statement against live with a past release's database attached
4234
+ * as the schema `history`: `history.<table>` is the past table, and an
4235
+ * unqualified name is live's. Writes to live are real, as with `query`, and
4236
+ * run in one transaction; the attached copy is private to the call, so
4237
+ * nothing written into it lasts.
4238
+ *
4239
+ * @param releaseId A release from `history()` that isn't `current`.
4240
+ * @throws AdminApiError the same as `historyQuery`; a `sql_error` is the
4241
+ * database refusing the statement, and nothing in it was applied.
4242
+ * @example
4243
+ * await admin.db.historyAttach(releaseId,
4244
+ * 'UPDATE orders SET note = h.note FROM history.orders h WHERE h.id = orders.id AND orders.note IS NULL');
4245
+ */
4246
+ declare function historyAttach(ctx: AdminContext, releaseId: string, sql: string): Promise<DbQueryResult>;
4164
4247
 
4248
+ type db_DbHistoryParams = DbHistoryParams;
4249
+ declare const db_history: typeof history;
4250
+ declare const db_historyAttach: typeof historyAttach;
4251
+ declare const db_historyQuery: typeof historyQuery;
4165
4252
  declare const db_query: typeof query;
4166
4253
  declare namespace db {
4167
- export { db_query as query };
4254
+ export { type db_DbHistoryParams as DbHistoryParams, db_history as history, db_historyAttach as historyAttach, db_historyQuery as historyQuery, db_query as query };
4168
4255
  }
4169
4256
 
4170
4257
  /**
@@ -5352,7 +5439,8 @@ interface FilesUploadUrlResult {
5352
5439
  /**
5353
5440
  * GET /file-storage/url — read link for one object.
5354
5441
  *
5355
- * Private → short-lived presigned URL with `expiresAt` (ttl clamped to [60s, 7d]).
5442
+ * Private → short-lived signed URL with `expiresAt` (ttl clamped to [60s, 7d];
5443
+ * a storage presign, off the private CDN, lasts three hours at most).
5356
5444
  * Public → permanent on-domain URL, no expiry field.
5357
5445
  */
5358
5446
  interface FilesUrlResult {
@@ -5531,7 +5619,9 @@ declare function put(ctx: AdminContext, params: FilesPutParams): Promise<{
5531
5619
  * Mint a read link for one object.
5532
5620
  *
5533
5621
  * Private objects return a signed, expiring URL with `expiresAt` (ttl clamped
5534
- * server-side to [60s, 7d], default 300s). Public objects return a permanent
5622
+ * server-side to [60s, 7d], default 300s). Where the link is a storage presign
5623
+ * rather than the deployment's private CDN, it lasts three hours at most;
5624
+ * `expiresAt` is when it actually expires. Public objects return a permanent
5535
5625
  * on-domain URL with no expiry. Use a private store plus `sign` as the
5536
5626
  * sensitive-file handoff channel — links are unguessable and the object stays
5537
5627
  * deletable.
@@ -8860,4 +8950,4 @@ declare class AdminTimeoutError extends Error {
8860
8950
 
8861
8951
  declare const admin: AdminClient;
8862
8952
 
8863
- export { AdminApiError, type AdminClient, type AdminClientOptions, type AdminContext, AdminTimeoutError, type AgentThreadDetail, type AgentThreadListItem, type AgentThreadsGetResult, type AgentThreadsListResult, type AgentToolCall, type AgentTranscriptMessage, type AgentTurnError, type AnalyticsAiHostRow, type AnalyticsAiSourcesResult, type AnalyticsAiVendorRow, type AnalyticsBatchResult, type AnalyticsCrawlersOverviewResult, type AnalyticsCrawlersRecentResult, type AnalyticsCrawlersRecentRow, type AnalyticsCrawlersResult, type AnalyticsCrawlersTimeseriesBucket, type AnalyticsCrawlersTimeseriesResult, type AnalyticsLiveResult, type AnalyticsMapPoint, type AnalyticsMapResult, type AnalyticsMetric, type AnalyticsQueryResult, type AnalyticsQueryResultRow, type AnalyticsSourceRow, type AnalyticsSourcesResult, type AppCronJobStatus, type AppCronJobStatusReason, type AppCronRunState, type AppEmailSuppression, type AppSecretRow, type BoughtDomain, type CrashGroup, type CrashOccurrenceRow, type CrashesGetResult, type CrashesListResult, type CrashesOccurrencesResult, type CrashesStatsBucket, type CrashesStatsResult, type CronJobDecorated, type CronOverviewResult, type CronRunResult, type CronRunSummary, type DashboardLiveRelease, type DashboardReleaseMethod, type DashboardResult, type DataLiftFromDevResult, type DataLiftFromLiveResult, type DataSourceConnector, type DataSourceConnectorCredentials, type DataSourceConnectorDeletions, type DataSourceConnectorGetResult, type DataSourceConnectorPolicy, type DataSourceConnectorResult, type DataSourceInspectReport, type DataSourceInspectResult, type DataSourceJob, type DataSourceJobGetResult, type DataSourceJobManifestTokenResult, type DataSourceJobPlan, type DataSourceJobResult, type DataSourceJobSource, type DataSourceJobState, type DataSourceJobsListResult, type DataSourceMapDeployResult, type DataSourceMapTestDocument, type DataSourceMapTestOutcome, type DataSourceMapTestResult, type DataSourceMapper, type DataSourceObjectSelection, type DataSourceQuarantineResult, type DataSourceQuarantinedObject, type DataSourceReader, type DataSourceReaderDeliveries, type DataSourceReaderRetryResult, type DataSourceReaderStatusResult, type DataSourceReaderTestDocument, type DataSourceReaderTestResult, type DataSourceRemapResult, type DataSourceRereadResult, type DataSourceSyncResult, type DataSourcesBuildProgress, type DataSourcesChunkingConfig, type DataSourcesChunkingStrategy, type DataSourcesConfigResult, type DataSourcesConfigUpdateResult, type DataSourcesCountResult, type DataSourcesCreateResult, type DataSourcesDeleteResult, type DataSourcesDictionaryPushResult, type DataSourcesDictionaryReport, type DataSourcesDictionaryStatus, type DataSourcesDocument, type DataSourcesDocumentConfirmResult, type DataSourcesDocumentDeleteManyResult, type DataSourcesDocumentDeleteResult, type DataSourcesDocumentSelector, type DataSourcesDocumentStatus, type DataSourcesDocumentsResult, type DataSourcesDropResult, type DataSourcesEntitiesResult, type DataSourcesHydrateResult, type DataSourcesHydration, type DataSourcesIndex, type DataSourcesIngestConfig, type DataSourcesIngestUpdate, type DataSourcesLinkResult, type DataSourcesListEntry, type DataSourcesListResult, type DataSourcesMigration, type DataSourcesMoveResult, type DataSourcesPassage, type DataSourcesPassagesResult, type DataSourcesPlacement, type DataSourcesPromoteResult, type DataSourcesRelink, type DataSourcesRetrievalConfig, type DataSourcesRetrievalUpdate, type DataSourcesRevectorizeResult, type DataSourcesSampleResult, type DataSourcesSearchCitation, type DataSourcesSearchResult, type DataSourcesSearchResultItem, type DataSourcesUploadTokenResult, type DatasetFile, type DbQueryResult, type DiagnosticsAuditEnvironment, type DiagnosticsDashboardResult, type DiagnosticsFinding, type DiagnosticsLighthouseScores, type DiagnosticsPayload, type DiagnosticsReleaseResult, type DiagnosticsRuntimeFindings, type DomainsCheckResult, type DomainsCustomAddResult, type DomainsCustomCheckResult, type DomainsCustomHostnameUiStatus, type DomainsCustomHostnameView, type DomainsCustomListResult, type DomainsCustomRemoveResult, type DomainsCustomRetryResult, type DomainsDnsInstructions, type DomainsGetResult, type DomainsSetResult, type EmailBatchLifecycle, type EmailBatchResult, type EmailBatchSummary, type EmailBatchesResult, type EmailDomainBase, type EmailEffectiveSender, type EmailInboxResult, type EmailListResult, type EmailMessageKind, type EmailMessageResult, type EmailMessageStatus, type EmailSenderTier, type EmailSendingStatusResult, type EmailStatsResult, type EmailSummary, type EmailSuppressResult, type EmailSuppressionsResult, type EmailUnsuppressResult, type EvalAggregates, type EvalCompareResult, type EvalExpectation, type EvalQueriesAddResult, type EvalQueriesListResult, type EvalQuery, type EvalQueryResult, type EvalQueryStyle, type EvalRetrieval, type EvalRun, type EvalRunResult, type EvalRunState, type EvalRunsListResult, type EvalSet, type EvalSetGetResult, type EvalSetResult, type EvalSetState, type EvalSetsListResult, type EventChannelActivity, type EventsChannelsListResult, type EventsPublishResult, type EventsTailFrame, type FilesDeleteResult, type FilesFileMeta, type FilesListEntry, type FilesListResult, type FilesLsResult, type FilesScanBadge, type FilesScanFlagged, type FilesScanStore, type FilesStatResult, type FilesStoreSummaryEntry, type FilesUploadUrlResult, type FilesUrlResult, type FrontendErrorType, type InboundDnsInstructions, type InboundEmailDomainAddResult, type InboundEmailDomainCheckResult, type InboundEmailDomainDeleteResult, type InboundEmailDomainUiStatus, type InboundEmailDomainVerifyResult, type InboundEmailDomainView, type InboundEmailDomainsListResult, type InboxEmailPreview, type IssueAuthorKind, type IssueCommentRow, type IssueEventType, type IssueRow, type IssueStatus, type IssuesCommentResult, type IssuesCreateResult, type IssuesDeleteResult, type IssuesGetResult, type IssuesListResult, type IssuesUpdateResult, type JewelPairRow, type JewelPairSummaryRow, type JewelVerdict, type JewelsDatasetSummary, type JewelsDryrunResult, type JewelsExportResult, type JewelsGradeResult, type JewelsGrading, type JewelsOverviewResult, type JewelsPairResult, type JewelsPairsResult, type JewelsQueueResult, type JewelsResolveResult, type JewelsRunResult, type JewelsRunsResult, type JewelsTimeseriesBucket, type JewelsTimeseriesResult, type JewelsTrainResult, type LiftedDatabase, type MethodsInvokeResult, type OperationProgress, type OutboundDnsInstructions, type OutboundDnsRecord, type OutboundEmailDomainAddResult, type OutboundEmailDomainCheckResult, type OutboundEmailDomainDeleteResult, type OutboundEmailDomainUiStatus, type OutboundEmailDomainVerifyResult, type OutboundEmailDomainView, type OutboundEmailDomainsListResult, type PlatformSuppression, type PrerenderGetResult, type PrerenderInvalidateResult, type PrerenderPage, type PrerenderPagesResult, type PrerenderViewResult, type PreviewShareLink, type PreviewShareListResult, type PreviewShareResult, type PreviewShareRevokeResult, type RegisteredDomainConnection, type RegisteredDomainOffer, type RegisteredDomainQuote, type RegisteredDomainRecordType, type RegisteredDomainRecords, type RegisteredDomainStatus, type RegisteredDomainView, type RegisteredDomainZoneRecord, type RegisteredDomainsBuyResult, type RegisteredDomainsContactResult, type RegisteredDomainsContactSetResult, type RegisteredDomainsListResult, type RegisteredDomainsQuoteResult, type RegisteredDomainsRecordDeleteResult, type RegisteredDomainsRecordResult, type RegisteredDomainsSearchResult, type RegisteredDomainsZoneResult, type RegistrantContact, type ReleaseFailureFields, type ReleaseFragment, type ReleasesByCommitResult, type ReleasesGetResult, type ReleasesListResult, type RequestsGetResult, type RequestsListResult, type RequestsListRow, type RequestsStatsMethodBucket, type RequestsStatsMethodResult, type RequestsStatsSummaryBucket, type RequestsStatsSummaryResult, type SecretsDeleteResult, type SecretsGetResult, type SecretsListResult, type SecretsSetResult, type SettingsResult, type SuppressionSource, type TaskTraceOutcome, type TaskTraceSummary, type TaskTranscriptMessage, type TaskTurnError, type TasksGetResult, type TasksListResult, type TrainingLogEntry, type TrainingRunRow, type TrainingRunStatus, type UserAuthProvider, type UserListItem, type UserRecord, type UsersCreateApiKeyResult, type UsersListResult, type UsersRevokeApiKeyResult, type UsersSetRoleResult, type V2AppSettings, type V2BuildLogEntry, type V2BuildStats, type V2CommitInfo, type V2EmailMessage, type V2ReleaseStatus, type VoiceAvailableNumber, type VoiceNumbersBuyResult, type VoiceNumbersListResult, type VoiceNumbersReleaseResult, type VoiceNumbersSearchResult, type VoiceNumbersSetNameResult, type VoicePhoneNumberStatus, type VoicePhoneNumberView, type VoiceResolvedPolicy, type VoiceSessionChannel, type VoiceSessionCost, type VoiceSessionCostLine, type VoiceSessionDetail, type VoiceSessionGetResult, type VoiceSessionListItem, type VoiceSessionSip, type VoiceSessionSpeechEntry, type VoiceSessionStatus, type VoiceSessionToolEntry, type VoiceSessionTranscriptEntry, type VoiceSessionsListResult, type VoiceSettingsCeilings, type VoiceSettingsGetResult, type VoiceSettingsOverrides, type VoiceSettingsSetResult, type WorkspaceRegistrantContact, admin, createAdminClient, admin as default };
8953
+ export { AdminApiError, type AdminClient, type AdminClientOptions, type AdminContext, AdminTimeoutError, type AgentThreadDetail, type AgentThreadListItem, type AgentThreadsGetResult, type AgentThreadsListResult, type AgentToolCall, type AgentTranscriptMessage, type AgentTurnError, type AnalyticsAiHostRow, type AnalyticsAiSourcesResult, type AnalyticsAiVendorRow, type AnalyticsBatchResult, type AnalyticsCrawlersOverviewResult, type AnalyticsCrawlersRecentResult, type AnalyticsCrawlersRecentRow, type AnalyticsCrawlersResult, type AnalyticsCrawlersTimeseriesBucket, type AnalyticsCrawlersTimeseriesResult, type AnalyticsLiveResult, type AnalyticsMapPoint, type AnalyticsMapResult, type AnalyticsMetric, type AnalyticsQueryResult, type AnalyticsQueryResultRow, type AnalyticsSourceRow, type AnalyticsSourcesResult, type AppCronJobStatus, type AppCronJobStatusReason, type AppCronRunState, type AppEmailSuppression, type AppSecretRow, type BoughtDomain, type CrashGroup, type CrashOccurrenceRow, type CrashesGetResult, type CrashesListResult, type CrashesOccurrencesResult, type CrashesStatsBucket, type CrashesStatsResult, type CronJobDecorated, type CronOverviewResult, type CronRunResult, type CronRunSummary, type DashboardLiveRelease, type DashboardReleaseMethod, type DashboardResult, type DataLiftFromDevResult, type DataLiftFromLiveResult, type DataSourceConnector, type DataSourceConnectorCredentials, type DataSourceConnectorDeletions, type DataSourceConnectorGetResult, type DataSourceConnectorPolicy, type DataSourceConnectorResult, type DataSourceInspectReport, type DataSourceInspectResult, type DataSourceJob, type DataSourceJobGetResult, type DataSourceJobManifestTokenResult, type DataSourceJobPlan, type DataSourceJobResult, type DataSourceJobSource, type DataSourceJobState, type DataSourceJobsListResult, type DataSourceMapDeployResult, type DataSourceMapTestDocument, type DataSourceMapTestOutcome, type DataSourceMapTestResult, type DataSourceMapper, type DataSourceObjectSelection, type DataSourceQuarantineResult, type DataSourceQuarantinedObject, type DataSourceReader, type DataSourceReaderDeliveries, type DataSourceReaderRetryResult, type DataSourceReaderStatusResult, type DataSourceReaderTestDocument, type DataSourceReaderTestResult, type DataSourceRemapResult, type DataSourceRereadResult, type DataSourceSyncResult, type DataSourcesBuildProgress, type DataSourcesChunkingConfig, type DataSourcesChunkingStrategy, type DataSourcesConfigResult, type DataSourcesConfigUpdateResult, type DataSourcesCountResult, type DataSourcesCreateResult, type DataSourcesDeleteResult, type DataSourcesDictionaryPushResult, type DataSourcesDictionaryReport, type DataSourcesDictionaryStatus, type DataSourcesDocument, type DataSourcesDocumentConfirmResult, type DataSourcesDocumentDeleteManyResult, type DataSourcesDocumentDeleteResult, type DataSourcesDocumentSelector, type DataSourcesDocumentStatus, type DataSourcesDocumentsResult, type DataSourcesDropResult, type DataSourcesEntitiesResult, type DataSourcesHydrateResult, type DataSourcesHydration, type DataSourcesIndex, type DataSourcesIngestConfig, type DataSourcesIngestUpdate, type DataSourcesLinkResult, type DataSourcesListEntry, type DataSourcesListResult, type DataSourcesMigration, type DataSourcesMoveResult, type DataSourcesPassage, type DataSourcesPassagesResult, type DataSourcesPlacement, type DataSourcesPromoteResult, type DataSourcesRelink, type DataSourcesRetrievalConfig, type DataSourcesRetrievalUpdate, type DataSourcesRevectorizeResult, type DataSourcesSampleResult, type DataSourcesSearchCitation, type DataSourcesSearchResult, type DataSourcesSearchResultItem, type DataSourcesUploadTokenResult, type DatasetFile, type DbHistoryResult, type DbQueryResult, type DiagnosticsAuditEnvironment, type DiagnosticsDashboardResult, type DiagnosticsFinding, type DiagnosticsLighthouseScores, type DiagnosticsPayload, type DiagnosticsReleaseResult, type DiagnosticsRuntimeFindings, type DomainsCheckResult, type DomainsCustomAddResult, type DomainsCustomCheckResult, type DomainsCustomHostnameUiStatus, type DomainsCustomHostnameView, type DomainsCustomListResult, type DomainsCustomRemoveResult, type DomainsCustomRetryResult, type DomainsDnsInstructions, type DomainsGetResult, type DomainsSetResult, type EmailBatchLifecycle, type EmailBatchResult, type EmailBatchSummary, type EmailBatchesResult, type EmailDomainBase, type EmailEffectiveSender, type EmailInboxResult, type EmailListResult, type EmailMessageKind, type EmailMessageResult, type EmailMessageStatus, type EmailSenderTier, type EmailSendingStatusResult, type EmailStatsResult, type EmailSummary, type EmailSuppressResult, type EmailSuppressionsResult, type EmailUnsuppressResult, type EvalAggregates, type EvalCompareResult, type EvalExpectation, type EvalQueriesAddResult, type EvalQueriesListResult, type EvalQuery, type EvalQueryResult, type EvalQueryStyle, type EvalRetrieval, type EvalRun, type EvalRunResult, type EvalRunState, type EvalRunsListResult, type EvalSet, type EvalSetGetResult, type EvalSetResult, type EvalSetState, type EvalSetsListResult, type EventChannelActivity, type EventsChannelsListResult, type EventsPublishResult, type EventsTailFrame, type FilesDeleteResult, type FilesFileMeta, type FilesListEntry, type FilesListResult, type FilesLsResult, type FilesScanBadge, type FilesScanFlagged, type FilesScanStore, type FilesStatResult, type FilesStoreSummaryEntry, type FilesUploadUrlResult, type FilesUrlResult, type FrontendErrorType, type InboundDnsInstructions, type InboundEmailDomainAddResult, type InboundEmailDomainCheckResult, type InboundEmailDomainDeleteResult, type InboundEmailDomainUiStatus, type InboundEmailDomainVerifyResult, type InboundEmailDomainView, type InboundEmailDomainsListResult, type InboxEmailPreview, type IssueAuthorKind, type IssueCommentRow, type IssueEventType, type IssueRow, type IssueStatus, type IssuesCommentResult, type IssuesCreateResult, type IssuesDeleteResult, type IssuesGetResult, type IssuesListResult, type IssuesUpdateResult, type JewelPairRow, type JewelPairSummaryRow, type JewelVerdict, type JewelsDatasetSummary, type JewelsDryrunResult, type JewelsExportResult, type JewelsGradeResult, type JewelsGrading, type JewelsOverviewResult, type JewelsPairResult, type JewelsPairsResult, type JewelsQueueResult, type JewelsResolveResult, type JewelsRunResult, type JewelsRunsResult, type JewelsTimeseriesBucket, type JewelsTimeseriesResult, type JewelsTrainResult, type LiftedDatabase, type MethodsInvokeResult, type OperationProgress, type OutboundDnsInstructions, type OutboundDnsRecord, type OutboundEmailDomainAddResult, type OutboundEmailDomainCheckResult, type OutboundEmailDomainDeleteResult, type OutboundEmailDomainUiStatus, type OutboundEmailDomainVerifyResult, type OutboundEmailDomainView, type OutboundEmailDomainsListResult, type PlatformSuppression, type PrerenderGetResult, type PrerenderInvalidateResult, type PrerenderPage, type PrerenderPagesResult, type PrerenderViewResult, type PreviewShareLink, type PreviewShareListResult, type PreviewShareResult, type PreviewShareRevokeResult, type RegisteredDomainConnection, type RegisteredDomainOffer, type RegisteredDomainQuote, type RegisteredDomainRecordType, type RegisteredDomainRecords, type RegisteredDomainStatus, type RegisteredDomainView, type RegisteredDomainZoneRecord, type RegisteredDomainsBuyResult, type RegisteredDomainsContactResult, type RegisteredDomainsContactSetResult, type RegisteredDomainsListResult, type RegisteredDomainsQuoteResult, type RegisteredDomainsRecordDeleteResult, type RegisteredDomainsRecordResult, type RegisteredDomainsSearchResult, type RegisteredDomainsZoneResult, type RegistrantContact, type ReleaseFailureFields, type ReleaseFragment, type ReleasesByCommitResult, type ReleasesGetResult, type ReleasesListResult, type RequestsGetResult, type RequestsListResult, type RequestsListRow, type RequestsStatsMethodBucket, type RequestsStatsMethodResult, type RequestsStatsSummaryBucket, type RequestsStatsSummaryResult, type SecretsDeleteResult, type SecretsGetResult, type SecretsListResult, type SecretsSetResult, type SettingsResult, type SuppressionSource, type TaskTraceOutcome, type TaskTraceSummary, type TaskTranscriptMessage, type TaskTurnError, type TasksGetResult, type TasksListResult, type TrainingLogEntry, type TrainingRunRow, type TrainingRunStatus, type UserAuthProvider, type UserListItem, type UserRecord, type UsersCreateApiKeyResult, type UsersListResult, type UsersRevokeApiKeyResult, type UsersSetRoleResult, type V2AppSettings, type V2BuildLogEntry, type V2BuildStats, type V2CommitInfo, type V2EmailMessage, type V2ReleaseStatus, type VoiceAvailableNumber, type VoiceNumbersBuyResult, type VoiceNumbersListResult, type VoiceNumbersReleaseResult, type VoiceNumbersSearchResult, type VoiceNumbersSetNameResult, type VoicePhoneNumberStatus, type VoicePhoneNumberView, type VoiceResolvedPolicy, type VoiceSessionChannel, type VoiceSessionCost, type VoiceSessionCostLine, type VoiceSessionDetail, type VoiceSessionGetResult, type VoiceSessionListItem, type VoiceSessionSip, type VoiceSessionSpeechEntry, type VoiceSessionStatus, type VoiceSessionToolEntry, type VoiceSessionTranscriptEntry, type VoiceSessionsListResult, type VoiceSettingsCeilings, type VoiceSettingsGetResult, type VoiceSettingsOverrides, type VoiceSettingsSetResult, type WorkspaceRegistrantContact, admin, createAdminClient, admin as default };
package/dist/index.js CHANGED
@@ -1600,6 +1600,9 @@ function replay(ctx, params) {
1600
1600
  // src/ops/db.ts
1601
1601
  var db_exports = {};
1602
1602
  __export(db_exports, {
1603
+ history: () => history,
1604
+ historyAttach: () => historyAttach,
1605
+ historyQuery: () => historyQuery,
1603
1606
  query: () => query2
1604
1607
  });
1605
1608
  function query2(ctx, sql) {
@@ -1610,6 +1613,29 @@ function query2(ctx, sql) {
1610
1613
  { queries: [{ sql }] }
1611
1614
  );
1612
1615
  }
1616
+ function history(ctx, params = {}) {
1617
+ return call(
1618
+ ctx,
1619
+ "GET",
1620
+ `/_internal/v2/apps/${ctx.appId}/db/history${qs({ limit: params.limit, cursor: params.cursor })}`
1621
+ );
1622
+ }
1623
+ function historyQuery(ctx, releaseId, sql) {
1624
+ return call(
1625
+ ctx,
1626
+ "POST",
1627
+ `/_internal/v2/apps/${ctx.appId}/db/history/query`,
1628
+ { releaseId, queries: [{ sql }] }
1629
+ );
1630
+ }
1631
+ function historyAttach(ctx, releaseId, sql) {
1632
+ return call(
1633
+ ctx,
1634
+ "POST",
1635
+ `/_internal/v2/apps/${ctx.appId}/db/history/attach`,
1636
+ { releaseId, queries: [{ sql }] }
1637
+ );
1638
+ }
1613
1639
 
1614
1640
  // src/ops/diagnostics.ts
1615
1641
  var diagnostics_exports = {};