@framers/agentos-ext-account-sources 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -166,7 +166,7 @@ A `SourceSyncDocument` holds a `SourceRead` with text, its message spans as UTF-
166
166
  | `needs_reconnecting` | The grant was refused or lacks a scope; the cursor and use switches are cleared |
167
167
  | `disconnected` | The connection ended; the cursor and use switches are cleared |
168
168
 
169
- Pause is the `paused` flag on a connected or syncing connection, not a state: it stops syncs and keeps the cursor. Connecting, grant loss, disconnecting, pause, resume, a policy change and a use change each raise `generation`, so a store can refuse work started under an earlier one. A policy change also clears the cursor, so the next cycle applies the new bounds from a fresh pass. Connecting, pause, resume, a policy change, grant loss and disconnecting set `revalidationRequired`; a successful sync clears it. Disconnecting a disconnected connection, pausing a paused one and resuming an unpaused one answer the same state.
169
+ Pause is the `paused` flag on a connected or syncing connection, not a state: it stops syncs and keeps the cursor. Connecting, grant loss, disconnecting, pause, resume, a policy change and a use change each raise `generation`, so a store can refuse work started under an earlier one. A policy change also clears the cursor, so the next cycle applies the new bounds from a fresh pass. Connecting, pause, resume, a policy change, grant loss and disconnecting set `revalidationRequired`; a successful sync clears it. A tune (`policy_tuned`) records a policy whose operating bounds alone changed: in any state it moves `revision` and `updatedAt` and keeps the generation, cursor, `revalidationRequired`, progress and schedule. Disconnecting a disconnected connection, pausing a paused one and resuming an unpaused one answer the same state.
170
170
 
171
171
  `sourceSyncDue(state, policy, now, trigger)` is false unless the connection is connected or syncing, unpaused and at or after any `retryAt`. A `'scheduled'` trigger is then due once `nextSyncAt` is reached; a `'manual'` one when no request was made yet or `manualMinIntervalMs` has passed since the last. A deferred sync keeps the cursor and sets `retryAt`. A `domain_policy` or `invalid_response` failure clears `nextSyncAt`, so no scheduled sync is due until a manual request or another control change sets it.
172
172
 
@@ -174,7 +174,7 @@ Pause is the `paused` flag on a connected or syncing connection, not a state: it
174
174
 
175
175
  `openSourceSyncCycle(input)` opens a checkpoint at revision 0 and throws `invalid_source_sync_checkpoint` for an empty or oversized id or anchor, a generation or cutoff that is not a nonnegative safe integer, or an unknown mode. An `incremental` cycle starts with history from the committed cursor; `bootstrap`, `reconcile` and `recovery` start with a scan, and their history then replays from the checkpoint's `fromCursor`: an anchor read before the scan for `bootstrap` and `recovery`, the committed cursor for `reconcile`, or its anchor when the provider answers that the history from that cursor has expired (see [The coordinator](#the-coordinator)). `advanceSourceSyncPage(checkpoint, page, policy)` answers the next checkpoint and the ids to queue, without duplicates:
176
176
 
177
- - A scan that reaches `maxScanPages` pages or `maxCandidates` ids with more left keeps the first ids in the order given, marks the checkpoint `bounded` and stops. A finished scan moves the cycle to history from the same anchor.
177
+ - A scan that reaches `maxScanPages` pages or `maxCandidates` ids with more left keeps the first ids in the order given, marks the checkpoint `bounded` and stops. A finished scan moves the cycle to history from the same anchor. A scan that goes on keeps the `scanPageSize` its next page token was read under as the checkpoint's `pageTokenSize`, which a finished scan drops.
178
178
  - A history page records its cursor as the target. The last page, with no next page token, moves the cycle to `apply`.
179
179
  - A page of the wrong kind for the phase, a scan page past the bounds or larger than `scanPageSize`, an empty or oversized id, cursor or page token, or a page whose next token is the token it was read with throws `invalid_source_sync_page`.
180
180
 
@@ -184,6 +184,8 @@ The rules are pure and take no lock: the store that commits a cursor reads the s
184
184
 
185
185
  `new SourceSyncFault(code, retryAt?)` carries a fixed failure code as its message (`source_sync_<code>`), never a provider's text, exposes `code` and `retryAt`, and throws `invalid_source_sync_fault` for an unknown code or a `retryAt` that is not a nonnegative safe integer. `assertSourceSyncPolicy(policy)` throws `invalid_source_sync_policy` unless every policy value is a positive safe integer.
186
186
 
187
+ `SOURCE_SYNC_OPERATING_BOUNDS` names the nine policy values that bound how a connection syncs rather than what it keeps: `scanPageSize`, `maxScanPages`, `maxCandidates`, `maxChangedPerLease`, `maxHistoryPagesPerLease`, `leaseMs`, `pollMs`, `manualMinIntervalMs` and `reconcileMs`. `sourceSyncContentChanges(stored, next)` answers every other key whose value differs between two policies, in key order: the window, the retained, held and indexed ceilings, and any key a host adds to the policies it stores, a key only one of them holds included, with values compared as JSON. An empty answer means a tune can store `next`; anything else takes a policy change.
188
+
187
189
  ### The SQL store
188
190
 
189
191
  ```ts
@@ -213,7 +215,7 @@ The host supplies seven bindings, and may supply an eighth, `refresh`. The store
213
215
  | `active(tx, owner)` | Answers false for an account that is deleted or being deleted, whose admission is off or whose purge is pending; the store then claims, commits and reactivates nothing for it and answers no source state |
214
216
  | `allowance(tx, scope)` | Answers the connection's document and held-character ceilings after unrelated sources, and the remaining indexing balance |
215
217
  | `write(tx, scope, dependency, document, prepared)` | Writes the document's text and the host's prepared passages and vectors |
216
- | `chargeIndexed(tx, scope, characters)` | Charges committed characters to the indexing allowance |
218
+ | `chargeIndexed(tx, scope, characters)` | Charges the characters a committed write adds to index: a read's whole text, or the text after a held copy's that the read begins with |
217
219
  | `purge(tx, owner, affected)` | Deletes the host's text, passages and vectors in the affected scope |
218
220
  | `purgeResults(tx, owner, ids)` | Deletes the host's rows for these derived results |
219
221
  | `rebind(tx, scope, generation)` | Moves the connection's host rows to a new generation without changing their content, version or expiry |
@@ -223,9 +225,21 @@ Provider reads, embedding and model calls run between store calls, never inside
223
225
 
224
226
  A sync holds a lease. `claim(scope, trigger)` answers a handle only when the owner is active, the `active` binding agrees, no barrier or live lease is set and `sourceSyncDue` holds; `renew(handle)` extends the lease by `leaseMs`; `release(handle, event?)` gives it up, records a deferral or a fixed failure when one is given, and keeps the checkpoint and work for the next claim. `openCycle` opens a checkpoint or answers the one already open, `page` records a page and queues its ids in one transaction (the same page sent again right after answers the same checkpoint; any other stale revision answers null), and `takeWork` marks the next due item attempted before the read; an item that reached five attempts without a recorded result is not taken but waits `pollMs` as a `storage_unavailable` retry. Every call made with a handle checks the owner fence, the lease token and expiry, the generation and the `active` binding in the same transaction; once any of them has moved on, `release(handle)` answers false and every other call answers null.
225
227
 
226
- `applyResult(handle, work, result, prepared)` keeps a `retry` result unresolved. A `document` result is weighed first: the store ranks this connection's retained sources and the new one by activity time, newest first with ties broken by source id, and keeps those inside `maxRetainedDocuments`, `maxHeldCharacters` and the allowance. A document that does not fit is recorded as skipped with `document_limit`, `held_limit` or `indexing_limit`, and an excluded one with `excluded`. A document that fits replaces the source's previous copy in the same transaction (host write, indexing charge and provenance), after that copy and every derived result that depends on it are removed through the fence, and this connection's other sources the limits no longer admit are removed with it, never another connection's. A read that repeats the text and message spans of a copy the store still holds, within its expiry and window, adds nothing to index: it is charged nothing and is not weighed against the indexing allowance, so neither a reconcile that reads every retained source again nor a change to a source's labels or history spends any of it. When the read also repeats the copy's version and content hash, the `refresh` binding keeps the copy in place, with every result derived from it, and gives it the read's expiry and message windows; otherwise, and for a host without the binding, the copy is written again from a fresh preparation. A `gone` result, a skip and an excluded document remove the source's previous copy, except an `indexing_limit` skip whose previous copy is within its expiry and window, still admitted as it is by the retained limits, and where the new read begins: the read's text starts with the copy's text, by the hash the store keeps of it, and holds every message of it at the same span. That copy, admitted and charged under an earlier read, stays with the shorter of its own and the read's expiry and message windows until a later read of the source finds room in the allowance (a change to it, or a reconcile) or the copy expires; a read that lost or changed one of its messages removes it. A copy past its expiry or window counts as not held, whether or not `expire` has removed it yet. Given `prepared` as null, a document the store has to write answers `pending` with the same handle and records nothing; apply it again with its prepared value. Such a document reaches the `allowance` binding in both calls, so keep that binding to reads. A failing binding rolls the whole application back. The answer carries a new handle whenever a removal advanced the owner's fence; later calls use it. `finish` commits the cycle's target cursor once every work item is terminal, counting from the stored work, and `progress` records the counts so far.
228
+ `applyResult(handle, work, result, prepared)` keeps a `retry` result unresolved. A `document` result is weighed first: the store ranks this connection's retained sources and the new one by activity time, newest first with ties broken by source id, and keeps those inside `maxRetainedDocuments`, `maxHeldCharacters` and the allowance. A document that does not fit is recorded as skipped with `document_limit`, `held_limit` or `indexing_limit`, and an excluded one with `excluded`. A document that fits replaces the source's previous copy in the same transaction (host write, indexing charge and provenance), after that copy and every derived result that depends on it are removed through the fence, and this connection's other sources the limits no longer admit are removed with it, never another connection's. A read that repeats the text and message spans of a copy the store still holds, within its expiry and window, adds nothing to index: it is charged nothing and is not weighed against the indexing allowance, so neither a reconcile that reads every retained source again nor a change to a source's labels or history spends any of it. A read that begins with the text of such a copy, by the hash the store keeps of it, and holds every message of the copy at the same span, as a thread's read does after a reply, adds only the text that follows the copy's: it is charged those characters and weighed against the indexing allowance by them, so a long conversation is charged each reply once rather than its whole text again. A read that changes or drops any of the copy's text is charged in full. When the read also repeats the copy's version and content hash, the `refresh` binding keeps the copy in place, with every result derived from it, and gives it the read's expiry and message windows; otherwise, and for a host without the binding, the copy is written again from a fresh preparation. A `gone` result, a skip and an excluded document remove the source's previous copy, except an `indexing_limit` skip whose previous copy is within its expiry and window, still admitted as it is by the retained limits, and where the new read begins: the read's text starts with the copy's text, by the hash the store keeps of it, and holds every message of it at the same span. That copy, admitted and charged under an earlier read, stays with the shorter of its own and the read's expiry and message windows until a later read of the source finds room in the allowance (a change to it, or a reconcile) or the copy expires; a read that lost or changed one of its messages removes it. A copy past its expiry or window counts as not held, whether or not `expire` has removed it yet. Given `prepared` as null, a document the store has to write answers `pending` with the same handle and records nothing; apply it again with its prepared value. Such a document reaches the `allowance` binding in both calls, so keep that binding to reads. A failing binding rolls the whole application back. The answer carries a new handle whenever a removal advanced the owner's fence; later calls use it. `finish` commits the cycle's target cursor once every work item is terminal, counting from the stored work, and `progress` records the counts so far.
229
+
230
+ Controls run with the owner blocked, a tune (below) aside. `control(scope, event, policy?)` applies `connect_started`, `grant_ready`, `pause`, `resume`, `use_changed`, `policy_changed` (with the new policy), `grant_lost` or `disconnect`: it records a content-free barrier and drops the open cycle in one transaction, then completes the barrier and reactivates the owner. Connecting, grant loss and disconnecting remove the connection's sources, their derived results and its exclusions. Pause, resume, a use change and a policy change move retained content to the new generation with its version kept and its expiry never extended, so no result derived before the change can be delivered again; a policy change also removes the sources the new limits leave out and shortens the expiry of the rest to the new window. `exclude(scope, sourceId)` removes one source and keeps a content-free exclusion; `resetExclusions(scope)` clears them. Both raise the generation and keep the committed cursor, and make a reconcile the next cycle: a fresh bounded scan, then history replayed from that cursor, so a change made since it reaches the store even for an item the scan does not list. A control other than disconnecting throws `stale_source_sync` while the `active` binding refuses the owner. A barrier left by a failure blocks claims and reactivation until `recoverControl(scope)` completes it, and a lifecycle worker calls it even for a paused connection. `expire(scope, limit)` removes retained sources whose expiry has passed, also while the connection is paused or the owner's fence is inactive, as for a suspended account, which stays inactive, then the owner's expired derived results; reads refuse an expired source either way. Each source goes in a transaction of its own. When a removal or the results' expiry fails, `expire` throws the failure; once it had removed a source, it throws a `SourceSyncExpiryError` with the failure's message and `cause`, whose `partial` counts the removals made before it. `sweepExpired(limit?, owner?)` does the same across every connection, or one owner's, the earliest expiry first and by the store's own expiry, however far a maintenance walk is from them, and answers `{ removed, failed }`: an owner whose removal fails, as when its host purge keeps failing, is counted and left out of the call's later reads, so a call with up to `limit` such owners never holds back another owner's copies. An owner whose derived results then fail to expire is counted too, once; the call still answers every source it removed, and the other owners' results still expire. `removeOwner(owner, remove?)` removes a stopped owner's rows in one transaction: each of its connections, with its work rows, provenance and exclusions, once every one is disconnected with no barrier, lease, work or retained source, after running the lifecycle's own `remove` in the same transaction; the core fence's owner row and deletion records stay, since they hold no content and a restore replays the deletion from them.
231
+
232
+ ```ts
233
+ import { sourceSyncContentChanges } from '@framers/agentos-ext-account-sources';
234
+
235
+ // A release reconciles twice a day where it reconciled daily, and changes nothing a connection keeps.
236
+ const stored = (await store.snapshot(scope))!.policy;
237
+ const next = { ...stored, reconcileMs: 43_200_000 };
238
+ const type = sourceSyncContentChanges(stored, next).length === 0 ? 'policy_tuned' : 'policy_changed';
239
+ const after = await store.control(scope, { type }, next); // a tune is null while a sync holds the lease: try later
240
+ ```
227
241
 
228
- Controls run with the owner blocked. `control(scope, event, policy?)` applies `connect_started`, `grant_ready`, `pause`, `resume`, `use_changed`, `policy_changed` (with the new policy), `grant_lost` or `disconnect`: it records a content-free barrier and drops the open cycle in one transaction, then completes the barrier and reactivates the owner. Connecting, grant loss and disconnecting remove the connection's sources, their derived results and its exclusions. Pause, resume, a use change and a policy change move retained content to the new generation with its version kept and its expiry never extended, so no result derived before the change can be delivered again; a policy change also removes the sources the new limits leave out and shortens the expiry of the rest to the new window. `exclude(scope, sourceId)` removes one source and keeps a content-free exclusion; `resetExclusions(scope)` clears them. Both raise the generation and keep the committed cursor, and make a reconcile the next cycle: a fresh bounded scan, then history replayed from that cursor, so a change made since it reaches the store even for an item the scan does not list. A control other than disconnecting throws `stale_source_sync` while the `active` binding refuses the owner. A barrier left by a failure blocks claims and reactivation until `recoverControl(scope)` completes it, and a lifecycle worker calls it even for a paused connection. `expire(scope, limit)` removes retained sources whose expiry has passed, also while the connection is paused or the owner's fence is inactive, as for a suspended account, which stays inactive, then the owner's expired derived results; reads refuse an expired source either way. Each source goes in a transaction of its own. When a removal or the results' expiry fails, `expire` throws the failure; once it had removed a source, it throws a `SourceSyncExpiryError` with the failure's message and `cause`, whose `partial` counts the removals made before it. `sweepExpired(limit?, owner?)` does the same across every connection, or one owner's, the earliest expiry first and by the store's own expiry, however far a maintenance walk is from them, and answers `{ removed, failed }`: an owner whose removal fails, as when its host purge keeps failing, is counted and left out of the call's later reads, so a call with up to `limit` such owners never holds back another owner's copies. An owner whose derived results then fail to expire is counted too, once; the call still answers every source it removed, and the other owners' results still expire. `removeOwner(owner, remove?)` removes a stopped owner's rows in one transaction: each of its connections, with its work rows, provenance and exclusions, once every one is disconnected with no barrier, lease, work or retained source, after running the lifecycle's own `remove` in the same transaction; the core fence's owner row and deletion records stay, since they hold no content and a restore replays the deletion from them.
242
+ A tune changes a policy's operating bounds without a reset. `control(scope, { type: 'policy_tuned' }, policy)` stores a policy that differs from the stored one only in `SOURCE_SYNC_OPERATING_BOUNDS`, in one transaction under the owner fence's row lock and the connection's, and changes nothing else: it records no barrier and moves neither the generation nor the owner's epoch, so every fence ticket and derived result stays valid, and the cursor, `revalidationRequired`, progress, schedule and retained sources stay as they were, in any state. A connection `readCurrent` answered as connected is still connected, so search and delivery go on. Any other difference throws a `SourceSyncPolicyTuneError` whose `bounds` names the differing keys, as `sourceSyncContentChanges` answers them, and changes nothing: a change to what a connection keeps takes `policy_changed`. The new bounds apply from the next lease. While a lease is live a tune that would change the policy changes nothing and answers null: a sync keeps the policy it claimed its lease with, which a provider may check against the stored one before each request, as Gmail's does. Tune again once that sync ends. A lease past its time by the store's clock ends with the tune, as a claim would replace it, so a worker whose clock runs behind holds a handle no later call accepts: its next call, and the end of a request it already has in flight, are refused, and neither can be handed on as a lost grant once a provider sees the new policy. A cycle left open between leases goes on under the new bounds, except that its scan ends there, as a bounded scan ends, before its history, when it has already reached a lower `maxScanPages` or `maxCandidates`, or when the new `scanPageSize` is below the size its next page token was read under (`pageTokenSize`; for a checkpoint written before that field, the stored policy's size, which the first tune that leaves the scan open keeps as its `pageTokenSize`). The next sync stays when it was scheduled, so a new `pollMs` counts from the sync after it. A tune stores the whole policy it is given, as a policy change does, so of two tunes made from one snapshot the later one's policy stands. A tune to the stored policy answers the snapshot and changes nothing, under a live lease too, and a tune throws `stale_source_sync` while the `active` binding refuses the owner or a barrier is set, which it never completes.
229
243
 
230
244
  `readCurrent(tx, derivation)` answers the current state of a derivation's sources for the fence's commit and delivery checks, and a connection with a barrier or pending revalidation reads as disconnected. The store's provenance decides a source's expiry: a policy change's prune and an `indexing_limit` skip that keeps a copy shorten it there without calling a binding, so a host that reads its own rows takes the earlier of its row's expiry and the one `readCurrent` answers. `snapshot(scope)` answers metadata for authenticated controls and `documents(scope)` the retained provenance; neither authorizes delivery. Work rows and barriers hold ids and fixed values only. The documents table holds provenance, message timing, counts and hashes, never text. A text hash or a connector's content hash confirms a guessed text, a short templated message most easily, so treat the table as content, like the host's own tables, for access, retention and backups.
231
245
 
@@ -48,7 +48,10 @@ export interface SourceSyncStorageBindings<Prepared> {
48
48
  allowance(tx: StorageAdapter, scope: SourceSyncScope): Promise<SourceSyncAllowance>;
49
49
  /** Writes the document's content and the prepared value under this dependency, on the given transaction. */
50
50
  write(tx: StorageAdapter, scope: SourceSyncScope, dependency: SourceDependency, document: SourceSyncDocument, prepared: Prepared): Promise<void>;
51
- /** Charges committed sanitized characters to the owner's indexing allowance. */
51
+ /**
52
+ * Charges the sanitized characters a committed write adds to index to the owner's indexing allowance: a read's whole
53
+ * text, or, for a read that begins with the text of a copy the store still holds, the text that follows it.
54
+ */
52
55
  chargeIndexed(tx: StorageAdapter, scope: SourceSyncScope, characters: number): Promise<void>;
53
56
  /** Removes the host's source content in the affected scope: text, passages and vectors. */
54
57
  purge(tx: StorageAdapter, scope: SourceOwnerScope, affected: SourceInvalidation): Promise<void>;
@@ -84,11 +87,11 @@ export interface SourceSyncHandle {
84
87
  readonly lease: SourceSyncLease;
85
88
  }
86
89
  /**
87
- * The transitions a host control applies: connecting, a ready or lost grant, pause, resume, a use or policy change,
88
- * and disconnecting.
90
+ * The transitions a host control applies: connecting, a ready or lost grant, pause, resume, a use or policy change, a
91
+ * tune of the policy's operating bounds, and disconnecting.
89
92
  */
90
93
  export type SourceSyncControl = Extract<SourceSyncTransition, {
91
- type: 'connect_started' | 'grant_ready' | 'pause' | 'resume' | 'use_changed' | 'policy_changed' | 'grant_lost' | 'disconnect';
94
+ type: 'connect_started' | 'grant_ready' | 'pause' | 'resume' | 'use_changed' | 'policy_changed' | 'policy_tuned' | 'grant_lost' | 'disconnect';
92
95
  }>;
93
96
  /**
94
97
  * A control's durable, content-free record of the work it still owes: purging the connection, pruning it to its
@@ -149,9 +152,9 @@ export declare class SourceSyncExpiryError extends Error {
149
152
  * that owner's fence (`fence`), and a change made with a handle checks its lease, generation and host liveness in
150
153
  * the same transaction. Applying a changed source purges its old copy and every derived result that depends on it
151
154
  * before the replacement is written. A read that repeats the text of a copy the store holds is never charged again,
152
- * and with the host's `refresh` binding a read of that very copy keeps it in place. Provider reads, embedding and model
153
- * calls stay outside the store. The constructor runs no DDL: the host's migration runs `sourceSyncSchema` and core's
154
- * `sourceDerivationSchema` first.
155
+ * one that begins with that text is charged only for what follows it, and with the host's `refresh` binding a read
156
+ * of that very copy keeps it in place. Provider reads, embedding and model calls stay outside the store. The
157
+ * constructor runs no DDL: the host's migration runs `sourceSyncSchema` and core's `sourceDerivationSchema` first.
155
158
  *
156
159
  * @typeParam Prepared - The host's in-memory value for one document, passed through to its `write` binding.
157
160
  */
@@ -285,17 +288,19 @@ export declare class SqlAccountSourceSyncStore<Prepared = unknown> {
285
288
  private choose;
286
289
  /**
287
290
  * Applies one read result for a work item taken in this cycle, under a live lease and the owner fence. A retry
288
- * keeps the work unresolved. A document is weighed first: excluded, outside the retained limits or, unless it
289
- * repeats the text of a copy the store still holds, over the indexing allowance, it is recorded as a skip with its
290
- * reason. A document that fits replaces the source's old copy in the same transaction (host write, indexing charge
291
- * and provenance), after the old copy and every result derived from it are purged, evicting this connection's older
292
- * sources the limits no longer admit. A read that repeats the text and message spans of a copy the store still holds,
293
- * within its expiry and window, adds nothing to index and is never charged. When it also repeats the copy's version
294
- * and content hash, the host's `refresh` binding keeps the copy, with every result derived from it, and gives it the
295
- * read's expiry and message windows; otherwise the copy is written again from a fresh preparation. A skip and every
296
- * other result purge the old copy, except an `indexing_limit` skip that finds the copy still held, still admitted as
297
- * it is by the retained limits and the read beginning with its text, every message of it at the same span: that
298
- * copy, admitted and charged under an earlier read, stays with the shorter of its own and the read's expiry.
291
+ * keeps the work unresolved. A document is weighed first: excluded, outside the retained limits or over the
292
+ * indexing allowance with the characters it adds to index, it is recorded as a skip with its reason. A document
293
+ * that fits replaces the source's old copy in the same transaction (host write, indexing charge and provenance),
294
+ * after the old copy and every result derived from it are purged, evicting this connection's older sources the
295
+ * limits no longer admit. A read that repeats the text and message spans of a copy the store still holds, within
296
+ * its expiry and window, adds nothing to index and is never charged; one that begins with that copy's text, every
297
+ * message of the copy at the same span, adds only the text that follows and is charged that alone. When a
298
+ * repeating read also repeats the copy's version and content hash, the host's `refresh` binding keeps the copy,
299
+ * with every result derived from it, and gives it the read's expiry and message windows; otherwise the copy is
300
+ * written again from a fresh preparation. A skip and every other result purge the old copy, except an
301
+ * `indexing_limit` skip that finds the copy still held, still admitted as it is by the retained limits and the
302
+ * read beginning with its text, every message of it at the same span: that copy, admitted and charged under an
303
+ * earlier read, stays with the shorter of its own and the read's expiry.
299
304
  *
300
305
  * @param prepared - The host's prepared value for a document result; null for any other result, and for a document
301
306
  * weighed before its preparation.
@@ -388,11 +393,33 @@ export declare class SqlAccountSourceSyncStore<Prepared = unknown> {
388
393
  * the new policy, prunes retained sources to it and shortens their expiry to its window; the other controls rebind
389
394
  * content to the new generation without changing its version or expiry.
390
395
  *
391
- * @returns The snapshot after the barrier is complete.
392
- * @throws {Error} `source_policy_control_required` unless a policy comes exactly with `policy_changed`, and
393
- * `stale_source_sync` when the host's `active` binding refuses anything but disconnecting or a barrier is still set.
396
+ * A tune (`policy_tuned`), which takes the new policy too, does none of that. It stores a policy that differs from the
397
+ * stored one only in `SOURCE_SYNC_OPERATING_BOUNDS`, in one transaction under the owner fence's row lock and the
398
+ * connection's: no barrier is recorded and neither the generation nor the owner's epoch moves, so every fence ticket
399
+ * and derived result stays valid, and the cursor, revalidation, progress, schedule and retained sources stay, in any
400
+ * state. The new bounds apply from the next lease. While a lease is live a tune that would change the policy changes
401
+ * nothing and answers null, so no sync sees its policy change; a lease past its time by this store's clock ends with
402
+ * the tune, as a claim would replace it. A cycle left open between leases goes on under the new bounds, except that
403
+ * its scan ends there, as a bounded scan ends, when it has already reached a lower `maxScanPages` or `maxCandidates`,
404
+ * or when the new `scanPageSize` is below the size its next page token was read under (the checkpoint's
405
+ * `pageTokenSize`). A tune stores the whole policy it is given, so of two tunes made from one snapshot the later one's
406
+ * policy stands. A tune to the stored policy answers the snapshot and changes nothing, under a live lease too.
407
+ *
408
+ * @returns The snapshot after the barrier is complete or the tune is stored; null for a tune that would change the
409
+ * policy while a lease is live.
410
+ * @throws {SourceSyncPolicyTuneError} for a tune whose policy differs from the stored one outside the operating
411
+ * bounds; nothing changes.
412
+ * @throws {Error} `source_policy_control_required` unless a policy comes exactly with `policy_changed` or
413
+ * `policy_tuned`, and `stale_source_sync` when the host's `active` binding refuses anything but disconnecting, a
414
+ * barrier is still set (a tune completes none) or the connection does not exist.
394
415
  */
395
416
  control(scope: SourceSyncScope, event: SourceSyncControl, policy?: SourceSyncPolicy): Promise<SourceSyncSnapshot | null>;
417
+ /**
418
+ * Stores a tuned policy as `control` describes for `policy_tuned`.
419
+ *
420
+ * @returns The snapshot, or null when the policy would change while a lease is live.
421
+ */
422
+ private tune;
396
423
  private rebind;
397
424
  /** Called by the lifecycle worker even when a connection is paused or the owner is blocked. */
398
425
  recoverControl(scope: SourceSyncScope): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"SqlAccountSourceSyncStore.d.ts","sourceRoot":"","sources":["../../src/sync/SqlAccountSourceSyncStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlAccountSourceSyncStore.d.ts","sourceRoot":"","sources":["../../src/sync/SqlAccountSourceSyncStore.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { createHash, randomUUID } from 'node:crypto';
8
8
  import { SqlSourceDerivationStore, createSourceDerivation, } from '@framers/agentos/cognition/library';
9
- import { createSourceSyncState, transitionSourceSync, sourceSyncDue, openSourceSyncCycle, advanceSourceSyncPage, committableSourceCursor, assertSourceSyncPolicy, SourceSyncFault, } from './state.js';
9
+ import { createSourceSyncState, transitionSourceSync, sourceSyncDue, openSourceSyncCycle, advanceSourceSyncPage, committableSourceCursor, assertSourceSyncPolicy, SourceSyncFault, SOURCE_SYNC_OPERATING_BOUNDS, sourceSyncContentChanges, SourceSyncPolicyTuneError, } from './state.js';
10
10
  import { sourceSyncTables } from './schema.js';
11
11
  /**
12
12
  * Thrown by `expire` when it fails after removing at least one source. Each removal committed in a transaction of its
@@ -47,6 +47,14 @@ const sameText = (stored, read) => (stored.textHash !== undefined ? stored.textH
47
47
  && stored.characters === read.characters && stored.activityAt === read.activityAt
48
48
  && stored.messages.length === read.messages.length
49
49
  && stored.messages.every((message, index) => sameSpan(message, read.messages[index]));
50
+ /**
51
+ * Whether a read begins with a retained copy's text, by the hash the store keeps of it, and holds every message of
52
+ * the copy at the same span, as a thread's read does after a reply: everything the read adds follows the copy's
53
+ * text. A copy an earlier release wrote, which has no text hash, never qualifies.
54
+ */
55
+ const beginsWith = (stored, read, text) => stored.textHash !== undefined && stored.characters <= read.characters
56
+ && stored.textHash === textHashOf(text.slice(0, stored.characters))
57
+ && stored.messages.every((message) => read.messages.some((span) => sameSpan(message, span)));
50
58
  /**
51
59
  * Whether a read holds exactly the retained copy: its text (`sameText`) at the same version and content hash. Only the
52
60
  * expiry and the message windows, which each read decides afresh, may differ.
@@ -58,9 +66,9 @@ const sameCopy = (stored, read) => sameText(stored, read) && stored.dependency.v
58
66
  * that owner's fence (`fence`), and a change made with a handle checks its lease, generation and host liveness in
59
67
  * the same transaction. Applying a changed source purges its old copy and every derived result that depends on it
60
68
  * before the replacement is written. A read that repeats the text of a copy the store holds is never charged again,
61
- * and with the host's `refresh` binding a read of that very copy keeps it in place. Provider reads, embedding and model
62
- * calls stay outside the store. The constructor runs no DDL: the host's migration runs `sourceSyncSchema` and core's
63
- * `sourceDerivationSchema` first.
69
+ * one that begins with that text is charged only for what follows it, and with the host's `refresh` binding a read
70
+ * of that very copy keeps it in place. Provider reads, embedding and model calls stay outside the store. The
71
+ * constructor runs no DDL: the host's migration runs `sourceSyncSchema` and core's `sourceDerivationSchema` first.
64
72
  *
65
73
  * @typeParam Prepared - The host's in-memory value for one document, passed through to its `write` binding.
66
74
  */
@@ -508,17 +516,19 @@ export class SqlAccountSourceSyncStore {
508
516
  }
509
517
  /**
510
518
  * Applies one read result for a work item taken in this cycle, under a live lease and the owner fence. A retry
511
- * keeps the work unresolved. A document is weighed first: excluded, outside the retained limits or, unless it
512
- * repeats the text of a copy the store still holds, over the indexing allowance, it is recorded as a skip with its
513
- * reason. A document that fits replaces the source's old copy in the same transaction (host write, indexing charge
514
- * and provenance), after the old copy and every result derived from it are purged, evicting this connection's older
515
- * sources the limits no longer admit. A read that repeats the text and message spans of a copy the store still holds,
516
- * within its expiry and window, adds nothing to index and is never charged. When it also repeats the copy's version
517
- * and content hash, the host's `refresh` binding keeps the copy, with every result derived from it, and gives it the
518
- * read's expiry and message windows; otherwise the copy is written again from a fresh preparation. A skip and every
519
- * other result purge the old copy, except an `indexing_limit` skip that finds the copy still held, still admitted as
520
- * it is by the retained limits and the read beginning with its text, every message of it at the same span: that
521
- * copy, admitted and charged under an earlier read, stays with the shorter of its own and the read's expiry.
519
+ * keeps the work unresolved. A document is weighed first: excluded, outside the retained limits or over the
520
+ * indexing allowance with the characters it adds to index, it is recorded as a skip with its reason. A document
521
+ * that fits replaces the source's old copy in the same transaction (host write, indexing charge and provenance),
522
+ * after the old copy and every result derived from it are purged, evicting this connection's older sources the
523
+ * limits no longer admit. A read that repeats the text and message spans of a copy the store still holds, within
524
+ * its expiry and window, adds nothing to index and is never charged; one that begins with that copy's text, every
525
+ * message of the copy at the same span, adds only the text that follows and is charged that alone. When a
526
+ * repeating read also repeats the copy's version and content hash, the host's `refresh` binding keeps the copy,
527
+ * with every result derived from it, and gives it the read's expiry and message windows; otherwise the copy is
528
+ * written again from a fresh preparation. A skip and every other result purge the old copy, except an
529
+ * `indexing_limit` skip that finds the copy still held, still admitted as it is by the retained limits and the
530
+ * read beginning with its text, every message of it at the same span: that copy, admitted and charged under an
531
+ * earlier read, stays with the shorter of its own and the read's expiry.
522
532
  *
523
533
  * @param prepared - The host's prepared value for a document result; null for any other result, and for a document
524
534
  * weighed before its preparation.
@@ -553,11 +563,11 @@ export class SqlAccountSourceSyncStore {
553
563
  : { kind: 'pending' };
554
564
  let victims = [];
555
565
  // The old copy stays when the read is that copy and the host refreshes it in place (`refreshed`), or when an
556
- // indexing skip keeps it (`kept`, with `shortened` its provenance); a read that repeats its text is written again
557
- // without a charge (`charge`).
566
+ // indexing skip keeps it (`kept`, with `shortened` its provenance); a written read is charged the characters it
567
+ // adds to index (`charge`).
558
568
  let refreshed = false;
559
569
  let kept = false;
560
- let charge = true;
570
+ let charge = 0;
561
571
  let shortened = null;
562
572
  const excluded = await tx.get(`SELECT 1 FROM ${this.t.exclusions}
563
573
  WHERE tenant_id=$1 AND owner_id=$2 AND connection_id=$3 AND source_id=$4`, [...params(s), work.sourceId]);
@@ -573,23 +583,26 @@ export class SqlAccountSourceSyncStore {
573
583
  const now = this.now();
574
584
  const selected = this.choose([...all.filter((d) => d !== old), read], row.policy, maximumDocuments, maximumCharacters, now);
575
585
  // A copy still within its expiry and window was charged when it was admitted: a read that repeats its text
576
- // adds nothing to index, and one that also repeats its version and content hash is that copy. A copy past its
577
- // expiry or window is no longer held, whether or not `expire` has removed it yet.
586
+ // adds nothing to index, and one that also repeats its version and content hash is that copy. A read that
587
+ // begins with its text adds only what follows it, so a reply to a long thread is charged once, not with the
588
+ // whole thread again. A copy past its expiry or window is no longer held, whether or not `expire` has removed
589
+ // it yet.
578
590
  const holding = old !== undefined && retainable(old, row.policy, now) ? old : undefined;
579
591
  const repeats = holding !== undefined && sameText(holding, read);
592
+ const text = result.document.read.content.text;
593
+ const appends = holding !== undefined && !repeats && beginsWith(holding, read, text);
594
+ const indexed = repeats ? 0 : appends ? read.characters - holding.characters : read.characters;
580
595
  if (!selected.includes(read)) {
581
596
  const reason = selected.length >= Math.min(row.policy.maxRetainedDocuments, maximumDocuments)
582
597
  ? 'document_limit' : 'held_limit';
583
598
  disposition = { kind: 'skipped', reason };
584
599
  }
585
- else if (!repeats && read.characters > Math.min(row.policy.maxIndexedCharacters, allowance.additionalIndexedCharacters)) {
600
+ else if (indexed > Math.min(row.policy.maxIndexedCharacters, allowance.additionalIndexedCharacters)) {
586
601
  disposition = { kind: 'skipped', reason: 'indexing_limit' };
587
602
  // The copy stays where the read begins with its text and the retained limits still admit it as it is, so an
588
603
  // edit of a message it holds, or a lowered ceiling, removes it.
589
604
  kept = holding !== undefined && holding.dependency.generation === read.dependency.generation
590
- && holding.textHash !== undefined
591
- && holding.textHash === textHashOf(result.document.read.content.text.slice(0, holding.characters))
592
- && holding.messages.every((message) => read.messages.some((span) => sameSpan(message, span)))
605
+ && beginsWith(holding, read, text)
593
606
  && this.choose(all, row.policy, maximumDocuments, maximumCharacters, now).includes(holding);
594
607
  if (kept && holding !== undefined) {
595
608
  // The kept copy takes the shorter of its own and the read's expiry and message windows, never a longer one.
@@ -609,7 +622,7 @@ export class SqlAccountSourceSyncStore {
609
622
  return { handle: h, disposition: pending };
610
623
  }
611
624
  normalized = read;
612
- charge = !repeats;
625
+ charge = indexed;
613
626
  victims = all.filter((d) => d !== old && !selected.includes(d)).map((d) => d.dependency.sourceId);
614
627
  disposition = { kind: 'applied', version: read.dependency.version };
615
628
  }
@@ -636,8 +649,8 @@ export class SqlAccountSourceSyncStore {
636
649
  }
637
650
  else if (normalized && result.kind === 'document' && prepared !== null) {
638
651
  await this.options.bindings.write(tx, s, normalized.dependency, result.document, prepared);
639
- if (charge)
640
- await this.options.bindings.chargeIndexed(tx, s, normalized.characters);
652
+ if (charge > 0)
653
+ await this.options.bindings.chargeIndexed(tx, s, charge);
641
654
  await tx.run(`INSERT INTO ${this.t.documents}(tenant_id,owner_id,connection_id,source_id,document,expires_at)
642
655
  VALUES($1,$2,$3,$4,$5::jsonb,$6)`, [...params(s), work.sourceId,
643
656
  JSON.stringify(normalized), normalized.dependency.expiresAt]);
@@ -884,15 +897,34 @@ export class SqlAccountSourceSyncStore {
884
897
  * the new policy, prunes retained sources to it and shortens their expiry to its window; the other controls rebind
885
898
  * content to the new generation without changing its version or expiry.
886
899
  *
887
- * @returns The snapshot after the barrier is complete.
888
- * @throws {Error} `source_policy_control_required` unless a policy comes exactly with `policy_changed`, and
889
- * `stale_source_sync` when the host's `active` binding refuses anything but disconnecting or a barrier is still set.
900
+ * A tune (`policy_tuned`), which takes the new policy too, does none of that. It stores a policy that differs from the
901
+ * stored one only in `SOURCE_SYNC_OPERATING_BOUNDS`, in one transaction under the owner fence's row lock and the
902
+ * connection's: no barrier is recorded and neither the generation nor the owner's epoch moves, so every fence ticket
903
+ * and derived result stays valid, and the cursor, revalidation, progress, schedule and retained sources stay, in any
904
+ * state. The new bounds apply from the next lease. While a lease is live a tune that would change the policy changes
905
+ * nothing and answers null, so no sync sees its policy change; a lease past its time by this store's clock ends with
906
+ * the tune, as a claim would replace it. A cycle left open between leases goes on under the new bounds, except that
907
+ * its scan ends there, as a bounded scan ends, when it has already reached a lower `maxScanPages` or `maxCandidates`,
908
+ * or when the new `scanPageSize` is below the size its next page token was read under (the checkpoint's
909
+ * `pageTokenSize`). A tune stores the whole policy it is given, so of two tunes made from one snapshot the later one's
910
+ * policy stands. A tune to the stored policy answers the snapshot and changes nothing, under a live lease too.
911
+ *
912
+ * @returns The snapshot after the barrier is complete or the tune is stored; null for a tune that would change the
913
+ * policy while a lease is live.
914
+ * @throws {SourceSyncPolicyTuneError} for a tune whose policy differs from the stored one outside the operating
915
+ * bounds; nothing changes.
916
+ * @throws {Error} `source_policy_control_required` unless a policy comes exactly with `policy_changed` or
917
+ * `policy_tuned`, and `stale_source_sync` when the host's `active` binding refuses anything but disconnecting, a
918
+ * barrier is still set (a tune completes none) or the connection does not exist.
890
919
  */
891
920
  async control(scope, event, policy) {
892
921
  if (policy)
893
922
  assertSourceSyncPolicy(policy);
894
- if ((event.type === 'policy_changed') !== (policy !== undefined))
923
+ const takesPolicy = event.type === 'policy_changed' || event.type === 'policy_tuned';
924
+ if (takesPolicy !== (policy !== undefined))
895
925
  throw new Error('source_policy_control_required');
926
+ if (event.type === 'policy_tuned')
927
+ return this.tune(scope, policy);
896
928
  await this.recoverControl(scope);
897
929
  await this.fence.blockOwner(scope, async (tx) => {
898
930
  if (!await this.options.bindings.active(tx, scope) && event.type !== 'disconnect')
@@ -914,6 +946,63 @@ export class SqlAccountSourceSyncStore {
914
946
  await this.recoverControl(scope);
915
947
  return this.snapshot(scope);
916
948
  }
949
+ /**
950
+ * Stores a tuned policy as `control` describes for `policy_tuned`.
951
+ *
952
+ * @returns The snapshot, or null when the policy would change while a lease is live.
953
+ */
954
+ async tune(scope, policy) {
955
+ const stored = await this.db.transaction(async (tx) => {
956
+ // The owner fence's row lock first, as every store transaction takes it; an authorization that answers false
957
+ // changes nothing, so the owner's epoch, and every ticket and handle captured at it, stays.
958
+ await this.fenceOn(tx).activateOwner(scope, async () => false);
959
+ if (!await this.options.bindings.active(tx, scope))
960
+ throw new StaleSync();
961
+ const row = await this.row(tx, scope);
962
+ if (row.barrier)
963
+ throw new StaleSync();
964
+ const changed = sourceSyncContentChanges(row.policy, policy);
965
+ if (changed.length > 0)
966
+ throw new SourceSyncPolicyTuneError(changed);
967
+ if (SOURCE_SYNC_OPERATING_BOUNDS.every((bound) => row.policy[bound] === policy[bound]))
968
+ return true;
969
+ const now = this.now();
970
+ // A sync runs under the policy it claimed its lease with; a provider may check its requests against the stored one.
971
+ if (row.lease_until !== null && Number(row.lease_until) > now)
972
+ return false;
973
+ const previous = row.policy;
974
+ row.state = transitionSourceSync(row.state, { type: 'policy_tuned' }, now);
975
+ row.policy = policy;
976
+ // A lease past its time by this store's clock ends here, as a claim would replace it: a worker whose clock runs
977
+ // behind then holds a handle no later call accepts. Its next call, and the end of a request it already has in
978
+ // flight, are refused, so neither can be handed on as a lost grant once a provider sees the new policy.
979
+ row.lease_token = null;
980
+ row.lease_until = null;
981
+ const cp = row.checkpoint;
982
+ // The page size the open scan's next token was read under; a checkpoint an earlier release wrote does not keep
983
+ // it, and its token came from the stored policy's size.
984
+ const issued = cp?.pageTokenSize ?? previous.scanPageSize;
985
+ if (cp?.phase === 'scan' && (cp.scanPages >= policy.maxScanPages || cp.candidates >= policy.maxCandidates
986
+ || (cp.nextPageToken !== null && policy.scanPageSize < issued))) {
987
+ // The open scan has already reached a lower bound, whose next scan page the new bounds would refuse, or holds a
988
+ // page token read under a larger page size, which a provider may answer at that size: it ends as a bounded
989
+ // scan ends, and its next page is history.
990
+ if (!validNumber(cp.revision + 1))
991
+ throw new Error('source_sync_counter_exhausted');
992
+ row.checkpoint = { ...cp, revision: cp.revision + 1, phase: 'history', nextPageToken: null,
993
+ pageTokenSize: undefined, targetCursor: null, bounded: true };
994
+ row.last_page = null;
995
+ }
996
+ else if (cp?.phase === 'scan' && cp.nextPageToken !== null && cp.pageTokenSize === undefined) {
997
+ // The scan stays open on a token whose size its checkpoint does not keep: it keeps that size now, so a later
998
+ // tune compares with it rather than with the policy this tune stores.
999
+ row.checkpoint = { ...cp, pageTokenSize: issued };
1000
+ }
1001
+ await this.save(tx, scope, row);
1002
+ return true;
1003
+ });
1004
+ return stored ? this.snapshot(scope) : null;
1005
+ }
917
1006
  async rebind(tx, scope, generation) {
918
1007
  await this.options.bindings.rebind(tx, scope, generation);
919
1008
  for (const doc of await this.documentRows(tx, scope)) {
@@ -1 +1 @@
1
- {"version":3,"file":"SqlAccountSourceSyncStore.js","sourceRoot":"","sources":["../../src/sync/SqlAccountSourceSyncStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SqlAccountSourceSyncStore.js","sourceRoot":"","sources":["../../src/sync/SqlAccountSourceSyncStore.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,34 @@ export declare class SourceSyncFault extends Error {
7
7
  }
8
8
  /** Throws `invalid_source_sync_policy` unless every policy value is a positive safe integer. */
9
9
  export declare function assertSourceSyncPolicy(policy: SourceSyncPolicy): void;
10
+ /**
11
+ * The policy values a `policy_tuned` control may change: how a cycle pages through an account and how long and how
12
+ * often a connection's syncs run. Every other key of a policy, the window and the retained, held and indexed ceilings
13
+ * among them, bounds what a connection keeps, and a change to it takes `policy_changed`, which starts a fresh pass.
14
+ */
15
+ export declare const SOURCE_SYNC_OPERATING_BOUNDS: readonly ["scanPageSize", "maxScanPages", "maxCandidates", "maxChangedPerLease", "maxHistoryPagesPerLease", "leaseMs", "pollMs", "manualMinIntervalMs", "reconcileMs"];
16
+ /** One of the policy values a `policy_tuned` control may change. */
17
+ export type SourceSyncOperatingBound = (typeof SOURCE_SYNC_OPERATING_BOUNDS)[number];
18
+ /**
19
+ * The keys outside `SOURCE_SYNC_OPERATING_BOUNDS` whose values differ between two policies, in key order: the changes
20
+ * to what a connection keeps, which a `policy_tuned` control refuses and `policy_changed` applies. A key that only one
21
+ * of the policies holds, such as one a host adds to the policies it stores, counts as a change; values compare as JSON.
22
+ *
23
+ * @param stored - The policy the connection holds.
24
+ * @param next - The policy to store.
25
+ * @returns The differing keys, frozen; empty when both policies keep the same content.
26
+ */
27
+ export declare function sourceSyncContentChanges(stored: SourceSyncPolicy, next: SourceSyncPolicy): readonly string[];
28
+ /**
29
+ * Thrown by a `policy_tuned` control whose policy differs from the stored one outside the operating bounds, so a
30
+ * change to what a connection keeps cannot skip the reset `policy_changed` makes. Its message is
31
+ * `source_policy_tune_changes_content`, and `bounds` names the differing keys as `sourceSyncContentChanges` answers them.
32
+ */
33
+ export declare class SourceSyncPolicyTuneError extends Error {
34
+ readonly bounds: readonly string[];
35
+ /** @param bounds - The keys whose values differ, outside the operating bounds. */
36
+ constructor(bounds: readonly string[]);
37
+ }
10
38
  /** A new connection in `not_connected` at generation 0. Throws `invalid_source_sync_state` for an empty or oversized key or an invalid clock. */
11
39
  export declare function createSourceSyncState(scope: SourceSyncScope, now: number): SourceSyncState;
12
40
  /** Pure proposal only; the SQL store authorizes and commits it under its lease/owner lock. */
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/sync/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAAE,eAAe,EAAqC,gBAAgB,EACrF,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EACpF,oBAAoB,EAAE,cAAc,EAAE,yBAAyB,EAC/D,yBAAyB,EAAE,qBAAqB,EACjD,MAAM,YAAY,CAAC;AAiCpB,2FAA2F;AAC3F,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;gBACpB,IAAI,EAAE,qBAAqB,EAAE,OAAO,GAAE,MAAM,GAAG,IAAW;CASvE;AAED,gGAAgG;AAChG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAOrE;AAED,iJAAiJ;AACjJ,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAS1F;AAED,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAC/D,eAAe,CAkGjB;AAED,8FAA8F;AAC9F,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GACxF,OAAO,CAST;AAED,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAWrF;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,GAC/E,yBAAyB,CAqC3B;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,yBAAyB,GAAG,OAAO,CAEpF;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,qBAAqB,GAC5D,MAAM,GAAG,IAAI,CAWf"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/sync/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EAAE,eAAe,EAAqC,gBAAgB,EACrF,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EACpF,oBAAoB,EAAE,cAAc,EAAE,yBAAyB,EAC/D,yBAAyB,EAAE,qBAAqB,EACjD,MAAM,YAAY,CAAC;AAiCpB,2FAA2F;AAC3F,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;gBACpB,IAAI,EAAE,qBAAqB,EAAE,OAAO,GAAE,MAAM,GAAG,IAAW;CASvE;AAED,gGAAgG;AAChG,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAOrE;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,wKAGgB,CAAC;AAC1D,oEAAoE;AACpE,MAAM,MAAM,wBAAwB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAQrF;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,GAAG,SAAS,MAAM,EAAE,CAK5G;AAED;;;;GAIG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,kFAAkF;gBACtE,MAAM,EAAE,SAAS,MAAM,EAAE;CAKtC;AAED,iJAAiJ;AACjJ,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,eAAe,CAS1F;AAED,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAC/D,eAAe,CAsGjB;AAED,8FAA8F;AAC9F,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GACxF,OAAO,CAST;AAED,yGAAyG;AACzG,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAWrF;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,gBAAgB,GAC/E,yBAAyB,CAsC3B;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,yBAAyB,GAAG,OAAO,CAEpF;AAED,+EAA+E;AAC/E,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,qBAAqB,GAC5D,MAAM,GAAG,IAAI,CAWf"}
@@ -54,6 +54,49 @@ export function assertSourceSyncPolicy(policy) {
54
54
  if (!values.every(positive))
55
55
  throw new Error('invalid_source_sync_policy');
56
56
  }
57
+ /**
58
+ * The policy values a `policy_tuned` control may change: how a cycle pages through an account and how long and how
59
+ * often a connection's syncs run. Every other key of a policy, the window and the retained, held and indexed ceilings
60
+ * among them, bounds what a connection keeps, and a change to it takes `policy_changed`, which starts a fresh pass.
61
+ */
62
+ export const SOURCE_SYNC_OPERATING_BOUNDS = Object.freeze([
63
+ 'scanPageSize', 'maxScanPages', 'maxCandidates', 'maxChangedPerLease', 'maxHistoryPagesPerLease',
64
+ 'leaseMs', 'pollMs', 'manualMinIntervalMs', 'reconcileMs',
65
+ ]);
66
+ const operatingBounds = new Set(SOURCE_SYNC_OPERATING_BOUNDS);
67
+ /** A value as JSON with each object's keys in order, so two equal values read alike in whatever order they were built. */
68
+ const canonical = (value) => JSON.stringify(value, (_key, part) => part !== null && typeof part === 'object' && !Array.isArray(part)
69
+ ? Object.fromEntries(Object.entries(part).sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0)))
70
+ : part);
71
+ /**
72
+ * The keys outside `SOURCE_SYNC_OPERATING_BOUNDS` whose values differ between two policies, in key order: the changes
73
+ * to what a connection keeps, which a `policy_tuned` control refuses and `policy_changed` applies. A key that only one
74
+ * of the policies holds, such as one a host adds to the policies it stores, counts as a change; values compare as JSON.
75
+ *
76
+ * @param stored - The policy the connection holds.
77
+ * @param next - The policy to store.
78
+ * @returns The differing keys, frozen; empty when both policies keep the same content.
79
+ */
80
+ export function sourceSyncContentChanges(stored, next) {
81
+ const a = stored;
82
+ const b = next;
83
+ return Object.freeze([...new Set([...Object.keys(a), ...Object.keys(b)])].sort()
84
+ .filter((name) => !operatingBounds.has(name) && canonical(a[name]) !== canonical(b[name])));
85
+ }
86
+ /**
87
+ * Thrown by a `policy_tuned` control whose policy differs from the stored one outside the operating bounds, so a
88
+ * change to what a connection keeps cannot skip the reset `policy_changed` makes. Its message is
89
+ * `source_policy_tune_changes_content`, and `bounds` names the differing keys as `sourceSyncContentChanges` answers them.
90
+ */
91
+ export class SourceSyncPolicyTuneError extends Error {
92
+ bounds;
93
+ /** @param bounds - The keys whose values differ, outside the operating bounds. */
94
+ constructor(bounds) {
95
+ super('source_policy_tune_changes_content');
96
+ this.name = 'SourceSyncPolicyTuneError';
97
+ this.bounds = Object.freeze([...bounds]);
98
+ }
99
+ }
57
100
  /** A new connection in `not_connected` at generation 0. Throws `invalid_source_sync_state` for an empty or oversized key or an invalid clock. */
58
101
  export function createSourceSyncState(scope, now) {
59
102
  if (![scope.tenantId, scope.ownerId, scope.connectionId].every((value) => key(value) && value.length <= 512) || !integer(now)) {
@@ -156,6 +199,10 @@ export function transitionSourceSync(state, event, now) {
156
199
  nextSyncAt: state.paused ? null : Math.max(now, state.retryAt ?? now), progress: zeroProgress(),
157
200
  };
158
201
  break;
202
+ case 'policy_tuned':
203
+ // Only the operating bounds change, which the store checks: nothing is fenced, so the generation, cursor,
204
+ // revalidation, progress and schedule stay, in whatever state the connection is.
205
+ break;
159
206
  case 'use_changed':
160
207
  requireTransition(active && validUse(event.use));
161
208
  next = {
@@ -218,6 +265,7 @@ export function advanceSourceSyncPage(checkpoint, page, policy) {
218
265
  checkpoint: Object.freeze({
219
266
  ...checkpoint, revision: increment(checkpoint.revision), scanPages, candidates,
220
267
  phase: done ? 'history' : 'scan', nextPageToken: done ? null : page.nextPageToken,
268
+ pageTokenSize: done ? undefined : policy.scanPageSize,
221
269
  targetCursor: null, bounded: checkpoint.bounded || bounded,
222
270
  }),
223
271
  });
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/sync/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/sync/state.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1E,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,GAAG,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;AAC/F,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAW,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,MAAM,QAAQ,GAAqC;IACjD,SAAS,EAAE,cAAc,EAAE,sBAAsB,EAAE,qBAAqB;IACxE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,WAAW;CAC5G,CAAC;AACF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE;IACtC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC,CAAC;AACF,MAAM,YAAY,GAAG,GAAuB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3G,MAAM,KAAK,GAAG,GAAkB,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;AACrF,SAAS,QAAQ,CAAC,GAAkB;IAClC,OAAO,OAAO,GAAG,CAAC,gBAAgB,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC;AAC3F,CAAC;AACD,SAAS,aAAa,CAAC,QAA4B;IACjD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;WACxF,OAAO,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC;AAC7C,CAAC;AACD,SAAS,MAAM,CAAC,KAAsB;IACpC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAClD,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;KACrF,CAAC,CAAC;AACL,CAAC;AACD,SAAS,iBAAiB,CAAC,SAAkB;IAC3C,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC/D,CAAC;AAED,2FAA2F;AAC3F,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,CAAwB;IAC5B,OAAO,CAAgB;IAChC,YAAY,IAA2B,EAAE,UAAyB,IAAI;QACpE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,gGAAgG;AAChG,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,MAAM,MAAM,GAAG;QACb,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,oBAAoB;QACnG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,kBAAkB;QACzF,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAAC,WAAW;KAC9G,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACxD,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,oBAAoB,EAAE,yBAAyB;IAChG,SAAS,EAAE,QAAQ,EAAE,qBAAqB,EAAE,aAAa;CACH,CAAC,CAAC;AAG1D,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC,4BAA4B,CAAC,CAAC;AACnF,0HAA0H;AAC1H,MAAM,SAAS,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAa,EAAE,EAAE,CACtG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAC/D,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,IAAI,CAAC,CAAC;AAEZ;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAwB,EAAE,IAAsB;IACvF,MAAM,CAAC,GAAG,MAAsD,CAAC;IACjE,MAAM,CAAC,GAAG,IAAoD,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;SAC7E,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACzC,MAAM,CAAoB;IACnC,kFAAkF;IAClF,YAAY,MAAyB;QACnC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,iJAAiJ;AACjJ,MAAM,UAAU,qBAAqB,CAAC,KAAsB,EAAE,GAAW;IACvE,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9H,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI;QACrG,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI;QACtE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG;KACpF,CAAC,CAAC;AACL,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,oBAAoB,CAClC,KAAsB,EAAE,KAA2B,EAAE,GAAW;IAEhE,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;IAC1E,IAAI,IAAI,GAAoB,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAC9F,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,iBAAiB;YACpB,iBAAiB,CAAC,CAAC,eAAe,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAClG,IAAI,GAAG;gBACL,GAAG,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI;gBACjH,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,IAAI;gBACtE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;aACpE,CAAC;YACF,MAAM;QACR,KAAK,aAAa;YAChB,iBAAiB,CAAC,KAAK,CAAC,MAAM,KAAK,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACxE,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;YACzE,MAAM;QACR,KAAK,kBAAkB;YACrB,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;YAC1D,MAAM;QACR,KAAK,cAAc;YACjB,iBAAiB,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAC/F,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,CAAC;YAC5F,MAAM;QACR,KAAK,eAAe;YAClB,iBAAiB,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChG,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC7C,MAAM;QACR,KAAK,gBAAgB;YACnB,iBAAiB,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;mBAC7E,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC;YAC3D,IAAI,GAAG;gBACL,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG;gBACnE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK;aACtF,CAAC;YACF,MAAM;QACR,KAAK,eAAe;YAClB,iBAAiB,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM;mBACxD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,GAAG;mBAC7C,CAAC,SAAS,EAAE,cAAc,EAAE,sBAAsB,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACxG,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAChH,MAAM;QACR,KAAK,aAAa;YAChB,iBAAiB,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1F,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC9F,MAAM;QACR,KAAK,YAAY;YACf,iBAAiB,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY,CAAC;mBACtD,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YACtE,IAAI,GAAG;gBACL,GAAG,IAAI,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;gBAC9E,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI;gBAC/F,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM;aACrD,CAAC;YACF,MAAM;QACR,KAAK,YAAY;YACf,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YAClD,IAAI,GAAG;gBACL,GAAG,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,oBAAoB,EAAE,IAAI;gBAC/F,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;aAC7C,CAAC;YACF,MAAM;QACR,KAAK,OAAO;YACV,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAC/B,IAAI,GAAG;gBACL,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;gBACrE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI;aAC3D,CAAC;YACF,MAAM;QACR,KAAK,QAAQ;YACX,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAChC,IAAI,GAAG;gBACL,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;gBACrE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,oBAAoB,EAAE,IAAI;aAC3F,CAAC;YACF,MAAM;QACR,KAAK,gBAAgB;YACnB,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,GAAG;gBACL,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI;gBAC/G,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE;aAChG,CAAC;YACF,MAAM;QACR,KAAK,cAAc;YACjB,0GAA0G;YAC1G,iFAAiF;YACjF,MAAM;QACR,KAAK,aAAa;YAChB,iBAAiB,CAAC,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,IAAI,GAAG;gBACL,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG;gBACrF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC;aACtE,CAAC;YACF,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;AACtB,CAAC;AAED,8FAA8F;AAC9F,MAAM,UAAU,aAAa,CAC3B,KAAsB,EAAE,MAAwB,EAAE,GAAW,EAAE,OAA0B;IAEzF,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM;WAChF,CAAC,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACnE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,eAAe;eACjE,GAAG,GAAG,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,OAAO,KAAK,WAAW,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC;AACzF,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,mBAAmB,CAAC,KAA2B;IAC7D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;WAC1E,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3G,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,CAAC;QACjE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QAC1E,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI;QAC3F,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK;KAC7D,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,qBAAqB,CACnC,UAAgC,EAAE,IAAoB,EAAE,MAAwB;IAEhF,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,GAAU,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;WACzF,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;WACjI,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;WACvF,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,UAAU,CAAC,aAAa,CAAC;QAAE,IAAI,EAAE,CAAC;IAC9F,IAAI,UAAU,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACxD,IAAI,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,IAAI,UAAU,CAAC,UAAU,IAAI,MAAM,CAAC,aAAa;eAC3F,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,YAAY;YAAE,IAAI,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI;eAC5E,CAAC,SAAS,IAAI,MAAM,CAAC,YAAY,IAAI,UAAU,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,OAAO,CAAC;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;gBACxB,GAAG,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,UAAU;gBAC9E,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa;gBACjF,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY;gBACrD,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,OAAO;aAC3D,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClF,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;gBACxB,GAAG,UAAU,EAAE,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;gBACzG,KAAK,EAAE,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACxD,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM;aAC7D,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,oBAAoB,CAAC,WAAsC;IACzE,OAAO,WAAW,CAAC,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,CAAC;AACzG,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CACrC,UAAgC,EAAE,IAA2B;IAE7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;WAC/D,UAAU,CAAC,KAAK,KAAK,OAAO,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI;WACjE,UAAU,CAAC,YAAY,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;WACjE,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU;WAChF,IAAI,CAAC,kBAAkB,KAAK,UAAU,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;IACpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACrD,OAAO,UAAU,CAAC,YAAY,CAAC;AACjC,CAAC"}
@@ -86,6 +86,12 @@ export interface SourceSyncCheckpoint {
86
86
  readonly fromCursor: string;
87
87
  /** Resume metadata only. Null at phase boundaries, never a committed history id. */
88
88
  readonly nextPageToken: string | null;
89
+ /**
90
+ * The `scanPageSize` a scan's `nextPageToken` was read under, kept while the scan holds one: a tune that lowers the
91
+ * page size below it ends the scan. Absent at phase boundaries, and from a checkpoint an earlier release wrote, whose
92
+ * token the stored policy's size issued; the first tune that leaves such a scan open keeps that size here.
93
+ */
94
+ readonly pageTokenSize?: number;
89
95
  readonly targetCursor: string | null;
90
96
  readonly scanPages: number;
91
97
  readonly candidates: number;
@@ -236,7 +242,11 @@ export interface SourceSyncEvent {
236
242
  export type SourceSyncEventSink = (event: SourceSyncEvent) => void;
237
243
  /** Whether a sync was scheduled or asked for by the person. */
238
244
  export type SourceSyncTrigger = 'scheduled' | 'manual';
239
- /** The events that move a connection between states. */
245
+ /**
246
+ * The events that move a connection between states. `policy_changed` stores a policy that changes what the connection
247
+ * keeps and fences the work before it; `policy_tuned` stores one that changes only its operating bounds
248
+ * (`SOURCE_SYNC_OPERATING_BOUNDS`) and fences nothing.
249
+ */
240
250
  export type SourceSyncTransition = {
241
251
  readonly type: 'connect_started';
242
252
  } | {
@@ -271,6 +281,8 @@ export type SourceSyncTransition = {
271
281
  readonly type: 'resume';
272
282
  } | {
273
283
  readonly type: 'policy_changed';
284
+ } | {
285
+ readonly type: 'policy_tuned';
274
286
  } | {
275
287
  readonly type: 'use_changed';
276
288
  readonly use: SourceSyncUse;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sync/types.ts"],"names":[],"mappings":"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"}
package/manifest.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://agentos.sh/schemas/extension-manifest-v1.json",
3
3
  "id": "com.framers.research.account-sources",
4
4
  "name": "Account Sources",
5
- "version": "0.8.0",
5
+ "version": "0.9.0",
6
6
  "description": "A person's own accounts as sources: connector interfaces, passage attribution, capped reads and a shared limiter",
7
7
  "author": {
8
8
  "name": "Frame",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@framers/agentos-ext-account-sources",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "A person's own accounts as sources: connector interfaces, passage attribution, capped reads and a shared limiter",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",