Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: integrate agent store for idempotence & invocation/receipt persistence #1444

Merged
merged 49 commits into from
May 16, 2024

Conversation

Gozala
Copy link
Contributor

@Gozala Gozala commented May 13, 2024

This is a draft that I could not finished on Friday, but I thought I'd share in case @vasco-santos or @alanshaw are looking into related stuff on Monday.

PR introduces AgentStore that is used for writing ucanto AgentMessage's from which receipts and invocations get indexed. This store is then consulted by a service during invocations to provide idempotence or more simply to return receipt without executing a task if we already have one.

Main goal here is to take out custom logic out of w3infra and to remove need for manual receipt / invocation storing in the handlers.

⚠️ It is worth calling out that this is significantly changes how things work. In the past sending same invocation used to re-run the handler, with this change that is no longer the case and you'll get a same receipt back (which is a neat way to lookup receipts actually). However that also means that bunch of our tests were affected. I don't expect it would affect real world cases however, because same invocation send second later will have unique CID (due to how we generate expiry) however it does affect tests because we don't wait a second between calls. That is why nonce's were added in a lot of places, but that is not something I expect users would have to do.

@Gozala Gozala force-pushed the feat/agent-store branch from f1aebae to 00bbd73 Compare May 15, 2024 00:37
@Gozala Gozala force-pushed the feat/agent-store branch from 00bbd73 to 23c795f Compare May 15, 2024 00:40
@Gozala Gozala marked this pull request as ready for review May 15, 2024 01:28
@Gozala Gozala requested review from vasco-santos and alanshaw May 15, 2024 01:28
Copy link
Contributor

@vasco-santos vasco-santos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good to me!

Not approved essentially because agent store tests should be expanded as reviewed inline

Also worth mentioning, there is a big refactor here on blob/add that would be much easier to be a separate PR instead of intertwined with a lot of other changes. The code seems way better documented for folks without big prior knowledge, so I am happy with these changes still. But made reviewing much more complicated and time consuming

// in order to issue blob/accept.
const [, allocation] = /** @type {API.UCANAwait} */ (put.nb.url)['ucan/await']
const result = await context.agentStore.invocations.get(allocation)
// If could not find blob/allocate invocation there is something wrong in
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: would be great to send this into a DLQ where we could be alerted. Probably an issue for now would be good, as we would also need to do the setup for DLQ monitoring

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could probably set this up as capability handler and dispatch to it, that way we would be able to throw here which will end up triggering catch handler of the server and get logged instead.

Does that sound like a better option ?

packages/upload-api/test/helpers/blob.js Outdated Show resolved Hide resolved
packages/upload-api/src/blob/add.js Show resolved Hide resolved
Comment on lines +49 to +53
// Verify blob is within the max upload size.
if (capability.nb.blob.size > context.maxUploadSize) {
// While blob may exceed current maxUploadSize limit it could be that limit
// was higher in the past and user had this blob uploaded already in which
// case we should not error.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am not sure why this moved here instead of blob/add. Would you expect that write targets could have different max sizes? Otherwise, I don't understand the change as it results in way more processing for same end result

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you are making some good points on this. That said, I also think that I also think there should be no blob/add handler it should be a static workflow like one illustrated here storacha/RFC#25 (comment)

Perhaps what we miss is a prior step that checks that blob size is below the max limit (and that step can even run locally on the invoking agent (like http/put) as opposed to service.

Overall sounds like spec needs to address this by calling out the verification step that needs to take place. In the meantime I suggest we keep this here and we can address this as part of router design which will actually deal with multiple allocation sites. Does this sound reasonable ?

If you feel very strongly about it I can move this back into the blob/add handler, however please note that allocation site would need to have this kind of check anyway as they may have different constraints to work with.

// that were awaiting in the background. In the future task scheduler is
// expected to handle coordination of tasks and their dependencies. In the
// meantime we poll `blob/allocate` tasks that were awaiting for the
// `http/put` receipt.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: if we need to add further triggers like this in the future, we would need to decouple this into where it is. There is why I would check on it, and I still think it is better to do

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure I follow what you are saying here. Are you saying what if we need to resume some other blocked task ? If so I think answer there would to add something like Scheduler.poll(....) which would go and poll each task we need to poll that way logic around individual tasks lives where those task are defined as opposed to been entangled with conclude handler with a branched logic

Copy link
Contributor

@vasco-santos vasco-santos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM after mentioned test in

@Gozala Gozala merged commit c9bf33e into main May 16, 2024
15 checks passed
@Gozala Gozala deleted the feat/agent-store branch May 16, 2024 21:13
vasco-santos pushed a commit that referenced this pull request May 23, 2024
🤖 I have created a release *beep* *boop*
---


##
[7.0.0](filecoin-api-v6.0.1...filecoin-api-v7.0.0)
(2024-05-23)


### ⚠ BREAKING CHANGES

* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))

### Features

* add blob protocol to upload-client
([#1425](#1425))
([49aef56](49aef56))
* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))
([c9bf33e](c9bf33e))


### Fixes

* check service did in w3filecoin
([#1476](#1476))
([11b00bf](11b00bf))


### Other Changes

* appease linter
([782c6d0](782c6d0))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
vasco-santos pushed a commit that referenced this pull request May 29, 2024
🤖 I have created a release *beep* *boop*
---


##
[16.0.0](upload-client-v15.0.0...upload-client-v16.0.0)
(2024-05-23)


### ⚠ BREAKING CHANGES

* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))

### Features

* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))
([c9bf33e](c9bf33e))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
vasco-santos pushed a commit that referenced this pull request May 30, 2024
🤖 I have created a release *beep* *boop*
---


##
[20.0.0](access-v19.0.0...access-v20.0.0)
(2024-05-30)


### ⚠ BREAKING CHANGES

* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))

### Features

* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))
([c9bf33e](c9bf33e))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
vasco-santos added a commit that referenced this pull request May 30, 2024
🤖 I have created a release *beep* *boop*
---


##
[17.0.0](upload-api-v16.0.0...upload-api-v17.0.0)
(2024-05-30)


### ⚠ BREAKING CHANGES

* updates agent-store api to unblock integration with w3infra
([#1479](#1479))
* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))

### Features

* updates agent-store api to unblock integration with w3infra
([#1479](#1479))
([2998a93](2998a93))
* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))
([c9bf33e](c9bf33e))
* use digest in `blob/accept` location commitment
([#1480](#1480))
([ade45eb](ade45eb))


### Fixes

* rename blob and index client capabilities
([#1478](#1478))
([17e3a31](17e3a31))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vasco Santos <santos.vasco10@gmail.com>
vasco-santos added a commit that referenced this pull request Jun 4, 2024
🤖 I have created a release *beep* *boop*
---


##
[14.0.0](w3up-client-v13.1.1...w3up-client-v14.0.0)
(2024-06-04)


### ⚠ BREAKING CHANGES

* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))
* delegated capabilities required to use `uploadFile`, `uploadDirectory`
and `uploadCAR` have changed. In order to use these methods your agent
will now need to be delegated `blob/add`, `index/add`, `filecoin/offer`
and `upload/add` capabilities. Note: no code changes are required.

### Features

* generate sharded DAG index on client and invoke w `index/add`
([#1451](#1451))
([a6d9026](a6d9026))
* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([#1444](#1444))
([c9bf33e](c9bf33e))


### Fixes

* check for blob/accept receipts before blob/add is concluded
([#1459](#1459))
([462518c](462518c))
* export blob client
([#1485](#1485))
([7944077](7944077))
* rename blob and index client capabilities
([#1478](#1478))
([17e3a31](17e3a31))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Vasco Santos <santos.vasco10@gmail.com>
Peeja added a commit to storacha/upload-service that referenced this pull request Dec 2, 2024
🤖 I have created a release *beep* *boop*
---


## 1.0.0 (2024-12-02)


### ⚠ BREAKING CHANGES

* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([storacha#1444](https://github.com/storacha/upload-service/issues/1444))
* dataStore in storefront renamed to contentStore
* not possible to skip submit queue on storefront service anymore
* return allocated bytes in `store/add` receipt
([storacha#1213](https://github.com/storacha/upload-service/issues/1213))

### Features

* add blob protocol to upload-client
([storacha#1425](https://github.com/storacha/upload-service/issues/1425))
([49aef56](49aef56))
* add support to prepend pieces while buffering to aggregate
([storacha#1301](https://github.com/storacha/upload-service/issues/1301))
([dff1846](dff1846))
* add usage/report capability
([storacha#1079](https://github.com/storacha/upload-service/issues/1079))
([6418b4b](6418b4b))
* aggregator keeping oldest piece ts
([storacha#1188](https://github.com/storacha/upload-service/issues/1188))
([97a7def](97a7def))
* api waits for trigger filecoin pipeline from the client
([storacha#1332](https://github.com/storacha/upload-service/issues/1332))
([421bacb](421bacb))
* filecoin info
([storacha#1091](https://github.com/storacha/upload-service/issues/1091))
([adb2442](adb2442))
* **filecoin-api:** allow custom hashing function to be passed to
aggregate builder
([storacha#1553](https://github.com/storacha/upload-service/issues/1553))
([e2653d4](e2653d4))
* **filecoin-api:** paginated queries
([storacha#1521](https://github.com/storacha/upload-service/issues/1521))
([25ed7d7](25ed7d7))
* move aggregate information out of deals in filecoin/info
([storacha#1192](https://github.com/storacha/upload-service/issues/1192))
([18dc590](18dc590))
* return allocated bytes in `store/add` receipt
([storacha#1213](https://github.com/storacha/upload-service/issues/1213))
([5d52e44](5d52e44))
* router ([#11](#11))
([c810735](c810735))
* upgrade ucanto/transport to 9.1.0 in all packages to get more verbose
errors from HTTP transport on non-ok response
([storacha#1312](https://github.com/storacha/upload-service/issues/1312))
([d6978d7](d6978d7))
* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([storacha#1444](https://github.com/storacha/upload-service/issues/1444))
([c9bf33e](c9bf33e))
* upload-client uploadDirectory, by default, sorts the provided files by
file name to help the user call us in a way that is deterministic and
minimizes cost
([storacha#1173](https://github.com/storacha/upload-service/issues/1173))
([8cd2555](8cd2555))
* use digest in `blob/accept` location commitment
([storacha#1480](https://github.com/storacha/upload-service/issues/1480))
([ade45eb](ade45eb))


### Fixes

* aggregate offer invocation cid wrong
([storacha#1063](https://github.com/storacha/upload-service/issues/1063))
([90a5a4d](90a5a4d))
* avoid duplicates on aggregator buffer concat
([storacha#1259](https://github.com/storacha/upload-service/issues/1259))
([9e64bab](9e64bab))
* check service did in w3filecoin
([storacha#1476](https://github.com/storacha/upload-service/issues/1476))
([11b00bf](11b00bf))
* configure max pieces
([storacha#1566](https://github.com/storacha/upload-service/issues/1566))
([71674ed](71674ed))
* dealer offer store keys without space
([storacha#1066](https://github.com/storacha/upload-service/issues/1066))
([301f411](301f411))
* drop filecoin storefront skip submit queue option
([storacha#1371](https://github.com/storacha/upload-service/issues/1371))
([1114383](1114383))
* enable storefront signer to be different from main service signer
([storacha#1072](https://github.com/storacha/upload-service/issues/1072))
([21ded3c](21ded3c))
* filecoin test use blob
([storacha#1422](https://github.com/storacha/upload-service/issues/1422))
([359c0b7](359c0b7))
* **filecoin-api:** parallel put to piece accept queue
([storacha#1560](https://github.com/storacha/upload-service/issues/1560))
([e7cbb6d](e7cbb6d))
* issue where typedoc docs would only show full docs for w3up-client
([storacha#1141](https://github.com/storacha/upload-service/issues/1141))
([0b8d3f3](0b8d3f3))
* lint ([storacha#1095](https://github.com/storacha/upload-service/issues/1095))
([f9cc770](f9cc770))
* migrate repo
([storacha#1389](https://github.com/storacha/upload-service/issues/1389))
([475a287](475a287))
* package metadata
([storacha#1161](https://github.com/storacha/upload-service/issues/1161))
([b8a1cc2](b8a1cc2))
* receipt chain has wrong CID because no expiration is set
([storacha#1060](https://github.com/storacha/upload-service/issues/1060))
([dfb46d8](dfb46d8))
* rename blob and index client capabilities
([storacha#1478](https://github.com/storacha/upload-service/issues/1478))
([17e3a31](17e3a31))
* repo URLs
([storacha#1550](https://github.com/storacha/upload-service/issues/1550))
([e02ddf3](e02ddf3))
* return piece accept receipt error
([storacha#1512](https://github.com/storacha/upload-service/issues/1512))
([05283cf](05283cf))
* revert enable storefront signer to be different from main service
signer ([storacha#1075](https://github.com/storacha/upload-service/issues/1075))
([80cdde0](80cdde0))
* storefront content store rename and separation for test
([storacha#1409](https://github.com/storacha/upload-service/issues/1409))
([05e5db3](05e5db3))
* storefront events cron with max concurrency
([storacha#1191](https://github.com/storacha/upload-service/issues/1191))
([11010c9](11010c9))
* upgrade ucanto core
([storacha#1127](https://github.com/storacha/upload-service/issues/1127))
([5ce4d22](5ce4d22))
* upgrade ucanto libs and format filecoin api
([storacha#1359](https://github.com/storacha/upload-service/issues/1359))
([87ca098](87ca098))
* upload API test fixes
([6b0d72d](6b0d72d))
* use one-webcrypto from npm
([storacha#1525](https://github.com/storacha/upload-service/issues/1525))
([9345c54](9345c54))


### Other Changes

* Add `pnpm dev` to watch-build all packages
([storacha#1533](https://github.com/storacha/upload-service/issues/1533))
([07970ef](07970ef))
* appease linter
([782c6d0](782c6d0))
* **main:** release filecoin-api 4.0.2
([storacha#1061](https://github.com/storacha/upload-service/issues/1061))
([5918ff2](5918ff2))
* **main:** release filecoin-api 4.0.3
([storacha#1064](https://github.com/storacha/upload-service/issues/1064))
([ef4ce7a](ef4ce7a))
* **main:** release filecoin-api 4.0.4
([storacha#1067](https://github.com/storacha/upload-service/issues/1067))
([c3ed3b9](c3ed3b9))
* **main:** release filecoin-api 4.0.5
([storacha#1073](https://github.com/storacha/upload-service/issues/1073))
([9cf2fc0](9cf2fc0))
* **main:** release filecoin-api 4.0.6
([storacha#1077](https://github.com/storacha/upload-service/issues/1077))
([40d0e7a](40d0e7a))
* **main:** release filecoin-api 4.1.0
([storacha#1085](https://github.com/storacha/upload-service/issues/1085))
([9b752f9](9b752f9))
* **main:** release filecoin-api 4.1.1
([storacha#1133](https://github.com/storacha/upload-service/issues/1133))
([3621b42](3621b42))
* **main:** release filecoin-api 4.1.2
([storacha#1148](https://github.com/storacha/upload-service/issues/1148))
([fa6405d](fa6405d))
* **main:** release filecoin-api 4.2.0
([storacha#1164](https://github.com/storacha/upload-service/issues/1164))
([dfdf762](dfdf762))
* **main:** release filecoin-api 4.3.0
([storacha#1194](https://github.com/storacha/upload-service/issues/1194))
([a1aa231](a1aa231))
* **main:** release filecoin-api 4.3.1
([storacha#1205](https://github.com/storacha/upload-service/issues/1205))
([7f42f39](7f42f39))
* **main:** release filecoin-api 4.4.0
([storacha#1303](https://github.com/storacha/upload-service/issues/1303))
([bb74ffc](bb74ffc))
* **main:** release filecoin-api 4.5.0
([storacha#1314](https://github.com/storacha/upload-service/issues/1314))
([d31ff06](d31ff06))
* **main:** release filecoin-api 4.6.0
([storacha#1346](https://github.com/storacha/upload-service/issues/1346))
([4b166fd](4b166fd))
* **main:** release filecoin-api 4.6.1
([storacha#1363](https://github.com/storacha/upload-service/issues/1363))
([efcb912](efcb912))
* **main:** release filecoin-api 5.0.0
([storacha#1384](https://github.com/storacha/upload-service/issues/1384))
([cb5b628](cb5b628))
* **main:** release filecoin-api 5.0.1
([storacha#1398](https://github.com/storacha/upload-service/issues/1398))
([2e3ef61](2e3ef61))
* **main:** release filecoin-api 6.0.0
([storacha#1414](https://github.com/storacha/upload-service/issues/1414))
([939e839](939e839))
* **main:** release filecoin-api 6.0.1
([storacha#1424](https://github.com/storacha/upload-service/issues/1424))
([f8c6c1d](f8c6c1d))
* **main:** release filecoin-api 7.0.0
([storacha#1430](https://github.com/storacha/upload-service/issues/1430))
([604d300](604d300))
* **main:** release filecoin-api 7.1.0
([storacha#1481](https://github.com/storacha/upload-service/issues/1481))
([9d38080](9d38080))
* **main:** release filecoin-api 7.1.1
([storacha#1513](https://github.com/storacha/upload-service/issues/1513))
([d4f5f45](d4f5f45))
* **main:** release filecoin-api 7.2.0
([storacha#1522](https://github.com/storacha/upload-service/issues/1522))
([0aebf9f](0aebf9f))
* **main:** release filecoin-api 7.2.1
([storacha#1528](https://github.com/storacha/upload-service/issues/1528))
([5b8e148](5b8e148))
* **main:** release filecoin-api 7.3.0
([storacha#1540](https://github.com/storacha/upload-service/issues/1540))
([77b31e9](77b31e9))
* **main:** release filecoin-api 7.3.1
([storacha#1561](https://github.com/storacha/upload-service/issues/1561))
([61d408a](61d408a))
* **main:** release filecoin-api 7.3.2
([storacha#1567](https://github.com/storacha/upload-service/issues/1567))
([534d3be](534d3be))
* package renames
([0f797ed](0f797ed))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
fforbeck pushed a commit to storacha/upload-service that referenced this pull request Dec 19, 2024
🤖 I have created a release *beep* *boop*
---


## 1.0.0 (2024-12-02)


### ⚠ BREAKING CHANGES

* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([storacha#1444](https://github.com/storacha/upload-service/issues/1444))
* delegated capabilities required to use `uploadFile`, `uploadDirectory`
and `uploadCAR` have changed. In order to use these methods your agent
will now need to be delegated `blob/add`, `index/add`, `filecoin/offer`
and `upload/add` capabilities. Note: no code changes are required.
* coupon
([storacha#1136](https://github.com/storacha/upload-service/issues/1136))
* tweak readmes to get release-please to bump major version
([storacha#1102](https://github.com/storacha/upload-service/issues/1102))

### Features

* add "plan/create-admin-session" capability
([storacha#1411](https://github.com/storacha/upload-service/issues/1411))
([50eeeb5](50eeeb5))
* add `subscription/list` capability
([storacha#1088](https://github.com/storacha/upload-service/issues/1088))
([471d7e5](471d7e5))
* add blob protocol to upload-client
([storacha#1425](https://github.com/storacha/upload-service/issues/1425))
([49aef56](49aef56))
* add CLI ([#39](#39))
([112720e](112720e))
* add usage/report capability
([storacha#1079](https://github.com/storacha/upload-service/issues/1079))
([6418b4b](6418b4b))
* coupon
([storacha#1136](https://github.com/storacha/upload-service/issues/1136))
([1b94f2d](1b94f2d))
* expose OwnedSpace and SharedSpace from access-client
([storacha#1244](https://github.com/storacha/upload-service/issues/1244))
([8ec1b44](8ec1b44))
* generate sharded DAG index on client and invoke w `index/add`
([storacha#1451](https://github.com/storacha/upload-service/issues/1451))
([a6d9026](a6d9026))
* Generate Space proofs on the fly, on `access/claim`
([storacha#1555](https://github.com/storacha/upload-service/issues/1555))
([9e2b1d4](9e2b1d4))
* router ([#11](#11))
([c810735](c810735))
* tweak readmes to get release-please to bump major version
([storacha#1102](https://github.com/storacha/upload-service/issues/1102))
([a411255](a411255))
* two more interface tweaks
([storacha#1287](https://github.com/storacha/upload-service/issues/1287))
([bc3c364](bc3c364))
* upgrade ucanto/transport to 9.1.0 in all packages to get more verbose
errors from HTTP transport on non-ok response
([storacha#1312](https://github.com/storacha/upload-service/issues/1312))
([d6978d7](d6978d7))
* **upload-api:** integrate agent store for idempotence &
invocation/receipt persistence
([storacha#1444](https://github.com/storacha/upload-service/issues/1444))
([c9bf33e](c9bf33e))
* w3up client login
([storacha#1120](https://github.com/storacha/upload-service/issues/1120))
([8279bf6](8279bf6))


### Fixes

* access client should request blob namespace capabilities
([storacha#1378](https://github.com/storacha/upload-service/issues/1378))
([fc5bb4a](fc5bb4a))
* access-client package.json uses https instead of git for one-webcrypto
dep to help with yarn compat
([storacha#1157](https://github.com/storacha/upload-service/issues/1157))
([e1d0798](e1d0798))
* don't error when we can't figure out a name for a space
([storacha#1177](https://github.com/storacha/upload-service/issues/1177))
([a31f667](a31f667))
* fix export paths for JS files
([storacha#1089](https://github.com/storacha/upload-service/issues/1089))
([1a5d1aa](1a5d1aa))
* fix IndexedDB reset function
([storacha#1199](https://github.com/storacha/upload-service/issues/1199))
([48cf555](48cf555))
* floating promises and add no-floating-promises to eslint-config-w3up
([storacha#1198](https://github.com/storacha/upload-service/issues/1198))
([1b8c5aa](1b8c5aa))
* issue where typedoc docs would only show full docs for w3up-client
([storacha#1141](https://github.com/storacha/upload-service/issues/1141))
([0b8d3f3](0b8d3f3))
* migrate repo
([storacha#1389](https://github.com/storacha/upload-service/issues/1389))
([475a287](475a287))
* package metadata
([storacha#1161](https://github.com/storacha/upload-service/issues/1161))
([b8a1cc2](b8a1cc2))
* point `main` at files included in the package
([storacha#1241](https://github.com/storacha/upload-service/issues/1241))
([c0b306d](c0b306d))
* repo URLs
([storacha#1550](https://github.com/storacha/upload-service/issues/1550))
([e02ddf3](e02ddf3))
* support storing ArrayBuffers in conf
([storacha#1236](https://github.com/storacha/upload-service/issues/1236))
([9b1aafb](9b1aafb))
* sync space names from proofs
([storacha#1193](https://github.com/storacha/upload-service/issues/1193))
([f552036](f552036))
* upgrade @ucanto/validator with bugfix
([storacha#1151](https://github.com/storacha/upload-service/issues/1151))
([d4e961b](d4e961b))
* upgrade type-fest in access
([storacha#1263](https://github.com/storacha/upload-service/issues/1263))
([47a4589](47a4589))
* upgrade ucanto core
([storacha#1127](https://github.com/storacha/upload-service/issues/1127))
([5ce4d22](5ce4d22))
* upgrade ucanto libs and format filecoin api
([storacha#1359](https://github.com/storacha/upload-service/issues/1359))
([87ca098](87ca098))
* upload API test fixes
([6b0d72d](6b0d72d))
* use an ArrayBuffer for delegation bits in AgentData
([storacha#1219](https://github.com/storacha/upload-service/issues/1219))
([bddf874](bddf874))
* use one-webcrypto from npm
([storacha#1525](https://github.com/storacha/upload-service/issues/1525))
([9345c54](9345c54))


### Other Changes

* Add `pnpm dev` to watch-build all packages
([storacha#1533](https://github.com/storacha/upload-service/issues/1533))
([07970ef](07970ef))
* **main:** release access 16.5.0
([storacha#1086](https://github.com/storacha/upload-service/issues/1086))
([cf81c3a](cf81c3a))
* **main:** release access 16.5.1
([storacha#1090](https://github.com/storacha/upload-service/issues/1090))
([cb46ee9](cb46ee9))
* **main:** release access 17.0.0
([storacha#1103](https://github.com/storacha/upload-service/issues/1103))
([5b34dfb](5b34dfb))
* **main:** release access 17.1.0
([storacha#1122](https://github.com/storacha/upload-service/issues/1122))
([3f302a3](3f302a3))
* **main:** release access 18.0.0
([storacha#1132](https://github.com/storacha/upload-service/issues/1132))
([aa4ba63](aa4ba63))
* **main:** release access 18.0.1
([storacha#1142](https://github.com/storacha/upload-service/issues/1142))
([3d7f118](3d7f118))
* **main:** release access 18.0.2
([storacha#1158](https://github.com/storacha/upload-service/issues/1158))
([1dd371b](1dd371b))
* **main:** release access 18.0.3
([storacha#1166](https://github.com/storacha/upload-service/issues/1166))
([dfbc3f1](dfbc3f1))
* **main:** release access 18.0.4
([storacha#1200](https://github.com/storacha/upload-service/issues/1200))
([f51b066](f51b066))
* **main:** release access 18.0.5
([storacha#1203](https://github.com/storacha/upload-service/issues/1203))
([89080ca](89080ca))
* **main:** release access 18.0.6
([storacha#1233](https://github.com/storacha/upload-service/issues/1233))
([ddb413f](ddb413f))
* **main:** release access 18.0.7
([storacha#1237](https://github.com/storacha/upload-service/issues/1237))
([bb5235f](bb5235f))
* **main:** release access 18.1.0
([storacha#1243](https://github.com/storacha/upload-service/issues/1243))
([4991f70](4991f70))
* **main:** release access 18.1.1
([storacha#1265](https://github.com/storacha/upload-service/issues/1265))
([3244a26](3244a26))
* **main:** release access 18.2.0
([storacha#1288](https://github.com/storacha/upload-service/issues/1288))
([787fca6](787fca6))
* **main:** release access 18.3.0
([storacha#1319](https://github.com/storacha/upload-service/issues/1319))
([5701761](5701761))
* **main:** release access 18.3.1
([storacha#1381](https://github.com/storacha/upload-service/issues/1381))
([086759d](086759d))
* **main:** release access 18.3.2
([storacha#1396](https://github.com/storacha/upload-service/issues/1396))
([bcc958f](bcc958f))
* **main:** release access 18.4.0
([storacha#1446](https://github.com/storacha/upload-service/issues/1446))
([af9f44e](af9f44e))
* **main:** release access 19.0.0
([storacha#1462](https://github.com/storacha/upload-service/issues/1462))
([b16a0bf](b16a0bf))
* **main:** release access 20.0.0
([storacha#1473](https://github.com/storacha/upload-service/issues/1473))
([be8247f](be8247f))
* **main:** release access 20.0.1
([storacha#1529](https://github.com/storacha/upload-service/issues/1529))
([a82c4fb](a82c4fb))
* **main:** release access 20.1.0
([storacha#1541](https://github.com/storacha/upload-service/issues/1541))
([89836c0](89836c0))
* package renames
([0f797ed](0f797ed))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants