@sprigr/apps-app-sdk 0.8.2 → 0.8.3
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/dist/index.d.ts +15 -7
- package/dist/index.js +4 -2
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1205,16 +1205,23 @@ interface RestoreSpec<P, T = Record<string, unknown>> {
|
|
|
1205
1205
|
/**
|
|
1206
1206
|
* Rebuild or write back, through the PINNED connection. May return
|
|
1207
1207
|
* `{ ok: false, error }` or throw; both become `restore_failed` and the
|
|
1208
|
-
* before-image is kept.
|
|
1208
|
+
* before-image is kept. A successful result may carry `notRestored`
|
|
1209
|
+
* (overrides the spec's static one, for a replay that only learns what it
|
|
1210
|
+
* could not write back while writing) and `extra`, spread into the success
|
|
1211
|
+
* payload for app-specific disclosure the model should read (a list of
|
|
1212
|
+
* dropped fields, child rows handed back for deliberate recreation).
|
|
1209
1213
|
*/
|
|
1210
|
-
restore: (pinned: P, before: T, row: JournalRowLike<T>) => Promise<
|
|
1211
|
-
ok: boolean;
|
|
1212
|
-
newId?: string;
|
|
1213
|
-
error?: string;
|
|
1214
|
-
} | void>;
|
|
1214
|
+
restore: (pinned: P, before: T, row: JournalRowLike<T>) => Promise<RestoreResult | void>;
|
|
1215
1215
|
/** What the restore does NOT bring back, folded into the note verbatim. */
|
|
1216
1216
|
notRestored?: string;
|
|
1217
1217
|
}
|
|
1218
|
+
interface RestoreResult {
|
|
1219
|
+
ok: boolean;
|
|
1220
|
+
newId?: string;
|
|
1221
|
+
error?: string;
|
|
1222
|
+
notRestored?: string;
|
|
1223
|
+
extra?: Record<string, unknown>;
|
|
1224
|
+
}
|
|
1218
1225
|
interface JournalRowLike<T = unknown> {
|
|
1219
1226
|
entity: string;
|
|
1220
1227
|
original_id: string;
|
|
@@ -1245,6 +1252,7 @@ type UndoApplyResult = {
|
|
|
1245
1252
|
fidelity: UndoFidelity;
|
|
1246
1253
|
not_restored?: string;
|
|
1247
1254
|
note: string;
|
|
1255
|
+
[extra: string]: unknown;
|
|
1248
1256
|
} | {
|
|
1249
1257
|
ok: false;
|
|
1250
1258
|
error: string;
|
|
@@ -1759,4 +1767,4 @@ interface ExecutionContextLike {
|
|
|
1759
1767
|
}
|
|
1760
1768
|
type HandlerFn<TArgs, TResult> = (args: TArgs, env: Record<string, unknown>, ctx?: ExecutionContextLike) => Promise<TResult>;
|
|
1761
1769
|
|
|
1762
|
-
export { APPROVAL_GRANTED_KEY, type Actor, type AppApprovalEnvelope, type AppFileListItem, type AppFileUrlArgs, type AppFileUrlResult, type AppFilesEnv, type AppUndoEnvelope, type ApprovalSpec, type ArchiveOfferOptions, type ArchiveOfferRefusal, type CaptureJournal, type ConfirmCondition, type ConfirmRule, type ConfirmationPolicy, type D1Like, type D1PreparedStatementLike, DEFAULT_EMIT_TIMEOUT_MS, DEFAULT_MAX_FILE_BYTES, DEFAULT_MONEY_FIELDS, DEFAULT_WRITE_PREFIXES, type EmitMarketplaceEventOptions, type EmitResult, type EmitTransport, type EventArgs, type ExecutionContextLike, type FetchFileResult, type FetchWithRetryOptions, type GetAppFileResult, type HandlerFn, type InboxOwner, type InstallBridge, InvalidUndoEnvelopeError, type JournalRowLike, type MarketplaceEventEmitOpts, type MarketplaceEventSourceIntegration, NotConnectedError, type OAuthBouncerSignals, type OAuthState, type OfferUndoArgs, type PlatformHostEnv, type PolicyCheckInput, type PolicySource, type PutAppFileArgs, type PutAppFileResult, type PutAppFileStreamArgs, type RequireApprovalOptions, type RestoreSpec, type ScheduleArgs, type SprigrDataAggregationCell, type SprigrDataAggregationResult, type SprigrDataAggregationSpec, type SprigrDataApi, type SprigrDataIndexOpts, type SprigrDataSearchOpts, type SprigrDataSearchResult, type SprigrFilesApi, type SprigrFilesApiWithEdit, type SprigrFilesCreateInput, type SprigrFilesCreateResult, type SprigrFilesEditInput, type SprigrFilesEditResult, type SprigrFilesJobResult, type ToolArgs, type ToolHandler, type ToolResult, type ToolWrapperOptions, UNIT_SEP, type UndoApplyOptions, type UndoApplyResult, type UndoCaptureSpec, type UndoFidelity, type WebhookArgs, type WfpBridgeEnv, type WfpEmitReply, actorKey, actorTool, appFileUrl, approvalHash, archiveOfferRefusal, base64ToBytes, buildConfirmationPolicy, buildMarketplaceWebhookUrl, bytesToBase64, canEmit, checkConfirmationPolicy, constantTimeEqual, createMarketplaceEmitter, createToolWrappers, decodeState, deleteAppFile, describeMissingBridge, emitMarketplaceEvent, encodeState, fetchFileAsBase64, fetchFileBytes, fetchWithRetry, fullWarning, getAppFile, hmacSha256Hex, installTokenPost, isNotConnectedError, isStagingHost, listAppFiles, offerUndo, overlaySprigr, ownerFromActorKey, parseActor, putAppFile, putAppFileStream, randomHex, recreatedWarning, refuseWithoutForce, requireApproval, resolveInstallBridge, resolveOAuthBouncerBase, resolveOAuthBouncerCallbackUrl, resolvePlatformWebhookBase, runUndoApply, safeCapture, seq, set, tool, undoEnvelope, withSprigrEmitFallback };
|
|
1770
|
+
export { APPROVAL_GRANTED_KEY, type Actor, type AppApprovalEnvelope, type AppFileListItem, type AppFileUrlArgs, type AppFileUrlResult, type AppFilesEnv, type AppUndoEnvelope, type ApprovalSpec, type ArchiveOfferOptions, type ArchiveOfferRefusal, type CaptureJournal, type ConfirmCondition, type ConfirmRule, type ConfirmationPolicy, type D1Like, type D1PreparedStatementLike, DEFAULT_EMIT_TIMEOUT_MS, DEFAULT_MAX_FILE_BYTES, DEFAULT_MONEY_FIELDS, DEFAULT_WRITE_PREFIXES, type EmitMarketplaceEventOptions, type EmitResult, type EmitTransport, type EventArgs, type ExecutionContextLike, type FetchFileResult, type FetchWithRetryOptions, type GetAppFileResult, type HandlerFn, type InboxOwner, type InstallBridge, InvalidUndoEnvelopeError, type JournalRowLike, type MarketplaceEventEmitOpts, type MarketplaceEventSourceIntegration, NotConnectedError, type OAuthBouncerSignals, type OAuthState, type OfferUndoArgs, type PlatformHostEnv, type PolicyCheckInput, type PolicySource, type PutAppFileArgs, type PutAppFileResult, type PutAppFileStreamArgs, type RequireApprovalOptions, type RestoreResult, type RestoreSpec, type ScheduleArgs, type SprigrDataAggregationCell, type SprigrDataAggregationResult, type SprigrDataAggregationSpec, type SprigrDataApi, type SprigrDataIndexOpts, type SprigrDataSearchOpts, type SprigrDataSearchResult, type SprigrFilesApi, type SprigrFilesApiWithEdit, type SprigrFilesCreateInput, type SprigrFilesCreateResult, type SprigrFilesEditInput, type SprigrFilesEditResult, type SprigrFilesJobResult, type ToolArgs, type ToolHandler, type ToolResult, type ToolWrapperOptions, UNIT_SEP, type UndoApplyOptions, type UndoApplyResult, type UndoCaptureSpec, type UndoFidelity, type WebhookArgs, type WfpBridgeEnv, type WfpEmitReply, actorKey, actorTool, appFileUrl, approvalHash, archiveOfferRefusal, base64ToBytes, buildConfirmationPolicy, buildMarketplaceWebhookUrl, bytesToBase64, canEmit, checkConfirmationPolicy, constantTimeEqual, createMarketplaceEmitter, createToolWrappers, decodeState, deleteAppFile, describeMissingBridge, emitMarketplaceEvent, encodeState, fetchFileAsBase64, fetchFileBytes, fetchWithRetry, fullWarning, getAppFile, hmacSha256Hex, installTokenPost, isNotConnectedError, isStagingHost, listAppFiles, offerUndo, overlaySprigr, ownerFromActorKey, parseActor, putAppFile, putAppFileStream, randomHex, recreatedWarning, refuseWithoutForce, requireApproval, resolveInstallBridge, resolveOAuthBouncerBase, resolveOAuthBouncerCallbackUrl, resolvePlatformWebhookBase, runUndoApply, safeCapture, seq, set, tool, undoEnvelope, withSprigrEmitFallback };
|
package/dist/index.js
CHANGED
|
@@ -740,15 +740,17 @@ async function runUndoApply(args, opts) {
|
|
|
740
740
|
}
|
|
741
741
|
await opts.journal.dropBefore(ref);
|
|
742
742
|
const recreated = spec.fidelity === "recreated";
|
|
743
|
+
const notRestored = result.notRestored ?? spec.notRestored;
|
|
743
744
|
return {
|
|
744
745
|
ok: true,
|
|
746
|
+
...result.extra ?? {},
|
|
745
747
|
resource: spec.resource,
|
|
746
748
|
original_id: row.original_id,
|
|
747
749
|
connection: row.connection,
|
|
748
750
|
new_id: result.newId ?? null,
|
|
749
751
|
fidelity: spec.fidelity,
|
|
750
|
-
...
|
|
751
|
-
note: recreated ? `Created a NEW ${spec.resource}${result.newId ? ` (${result.newId})` : ""} from the saved copy. The original ${row.original_id} is still gone and its id will never be reissued.${
|
|
752
|
+
...notRestored ? { not_restored: notRestored } : {},
|
|
753
|
+
note: recreated ? `Created a NEW ${spec.resource}${result.newId ? ` (${result.newId})` : ""} from the saved copy. The original ${row.original_id} is still gone and its id will never be reissued.${notRestored ? ` Not restored: ${notRestored}.` : ""} Report this as a replacement, not as an undo.` : `Restored ${spec.resource} ${row.original_id} to its saved values.${notRestored ? ` Not restored: ${notRestored}.` : ""} Anything changed since the capture was overwritten.`
|
|
752
754
|
};
|
|
753
755
|
}
|
|
754
756
|
|