{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":561932117,"defaultBranch":"main","name":"typescript-sdk","ownerLogin":"apibara","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-11-04T20:37:27.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/103362542?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725993676.0","currentOid":""},"activityList":{"items":[{"before":"6d2988083b468a4497ad236904c2dc2109d5d0c3","after":"51a51d9c3577d583f0a44ef2bd90f806f62c05c2","ref":"refs/heads/main","pushedAt":"2024-09-19T19:14:02.000Z","pushType":"pr_merge","commitsCount":10,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"indexer: add reorg-aware drizzle sink (#99)","shortMessageHtmlLink":"indexer: add reorg-aware drizzle sink (#99)"}},{"before":"a6a6e9234597ce28e679b1791009a2cb164c5a2f","after":"6d2988083b468a4497ad236904c2dc2109d5d0c3","ref":"refs/heads/main","pushedAt":"2024-09-16T10:03:03.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jaipaljadeja","name":"Jaipal Jadeja","path":"/jaipaljadeja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61868840?s=80&v=4"},"commit":{"message":"protocol: update dna stream definitions (#100)\n\nThis PR updates the DNA stream definitions to the latest release.\r\n\r\nI also updated the beaconchain definitions to match the service\r\navailable online.","shortMessageHtmlLink":"protocol: update dna stream definitions (#100)"}},{"before":"1f9cb439fb2fdc84f6b43adcbc7b3ff79d904d06","after":"4d792d38c59a8d03aa90b964a1e9bf0b63b78c75","ref":"refs/heads/update-dna-stream-def","pushedAt":"2024-09-15T08:03:02.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"protocol: update dna stream definitions","shortMessageHtmlLink":"protocol: update dna stream definitions"}},{"before":null,"after":"1f9cb439fb2fdc84f6b43adcbc7b3ff79d904d06","ref":"refs/heads/update-dna-stream-def","pushedAt":"2024-09-10T18:41:16.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"protocol: update dna stream definitions","shortMessageHtmlLink":"protocol: update dna stream definitions"}},{"before":"2bb0ed4f876fce360159d599f5fa9b998ca6c286","after":"a6a6e9234597ce28e679b1791009a2cb164c5a2f","ref":"refs/heads/main","pushedAt":"2024-08-30T08:29:53.000Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"indexer: sink rfc (#98)\n\n- upgrade sink interface\r\n- add sink and its transaction to indexer context\r\n- add drizzle sink for postgres\r\n- update csv, sqlite sink\r\n- add `useSink` hook\r\n- update indexer examples\r\n- update persistence and kv plugin\r\n- update vcr and tests","shortMessageHtmlLink":"indexer: sink rfc (#98)"}},{"before":"2bec3242a5a5ecdc4474c7cc73f3b9e59366d0b8","after":"2bb0ed4f876fce360159d599f5fa9b998ca6c286","ref":"refs/heads/main","pushedAt":"2024-08-08T16:11:52.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"cli: add starknet indexer in cli playground (#96)","shortMessageHtmlLink":"cli: add starknet indexer in cli playground (#96)"}},{"before":"0ff2fb29d7d4ce5d88ab725dd59f6601b4cd4043","after":null,"ref":"refs/heads/changeset-release/main","pushedAt":"2024-08-07T19:20:59.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"}},{"before":"bb53d7feeddfce0943bd864cbb0caafbbc0c520e","after":null,"ref":"refs/heads/changeset-release/next","pushedAt":"2024-08-07T19:20:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"}},{"before":"7950d9e4391ef288648dec90a4d69a9aa05de488","after":null,"ref":"refs/heads/organize-exports","pushedAt":"2024-08-07T19:20:36.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"}},{"before":"5efe6e63afd486366edef44d2d63c4fb35c19bb6","after":null,"ref":"refs/heads/starknet-lib","pushedAt":"2024-08-07T19:20:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"}},{"before":"def6462cec21ae163965b04079f0a9797854812a","after":null,"ref":"refs/heads/develop","pushedAt":"2024-08-07T19:20:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"}},{"before":"eaa5927681ec54034f602f52e3f1c4722b1359df","after":"2bec3242a5a5ecdc4474c7cc73f3b9e59366d0b8","ref":"refs/heads/main","pushedAt":"2024-08-07T19:20:19.000Z","pushType":"pr_merge","commitsCount":107,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"Start work towards v2 release (#95)","shortMessageHtmlLink":"Start work towards v2 release (#95)"}},{"before":"8eb401b4f8aca6af4a6a94dfb72f4f35be07ce83","after":"def6462cec21ae163965b04079f0a9797854812a","ref":"refs/heads/develop","pushedAt":"2024-08-07T19:16:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"cli: add playground","shortMessageHtmlLink":"cli: add playground"}},{"before":"aafd709237840793d8807663f22ea8630d5369fb","after":"8eb401b4f8aca6af4a6a94dfb72f4f35be07ce83","ref":"refs/heads/develop","pushedAt":"2024-08-07T19:03:34.000Z","pushType":"pr_merge","commitsCount":11,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"feat: add cli package (#93)","shortMessageHtmlLink":"feat: add cli package (#93)"}},{"before":"95b0302fe061a9f1266b02f2cedbd350abb3d265","after":"aafd709237840793d8807663f22ea8630d5369fb","ref":"refs/heads/develop","pushedAt":"2024-07-23T15:13:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"release: 2.0.0-beta.1","shortMessageHtmlLink":"release: 2.0.0-beta.1"}},{"before":"611d5840def73affeb523e53ce779d51edb3a9c3","after":"95b0302fe061a9f1266b02f2cedbd350abb3d265","ref":"refs/heads/develop","pushedAt":"2024-07-23T14:50:16.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jaipaljadeja","name":"Jaipal Jadeja","path":"/jaipaljadeja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61868840?s=80&v=4"},"commit":{"message":"Start publishing commonjs (#94)","shortMessageHtmlLink":"Start publishing commonjs (#94)"}},{"before":"316f5b768bcca0c9206b2009176b2535b876a7dc","after":"611d5840def73affeb523e53ce779d51edb3a9c3","ref":"refs/heads/develop","pushedAt":"2024-07-22T18:23:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"starknet: prepare for beta release","shortMessageHtmlLink":"starknet: prepare for beta release"}},{"before":"02ccc9590ba13ef40ac0e074e0476179f9a62777","after":"316f5b768bcca0c9206b2009176b2535b876a7dc","ref":"refs/heads/develop","pushedAt":"2024-07-17T13:22:07.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"indexer: add better-sqlite3 (#92)\n\n- remove sqlite & sqlite3 and replace it with better-sqlite3\r\n- add test for csv and sqlite sink","shortMessageHtmlLink":"indexer: add better-sqlite3 (#92)"}},{"before":"253b046e1559fd98896ed5a56b23885e62b263cf","after":"02ccc9590ba13ef40ac0e074e0476179f9a62777","ref":"refs/heads/develop","pushedAt":"2024-07-14T12:02:00.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"indexer: add factory mode (#91)","shortMessageHtmlLink":"indexer: add factory mode (#91)"}},{"before":"b07fa772e744695b8694b0cf04b7587aba4e7f29","after":"253b046e1559fd98896ed5a56b23885e62b263cf","ref":"refs/heads/develop","pushedAt":"2024-07-03T08:10:27.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"jaipaljadeja","name":"Jaipal Jadeja","path":"/jaipaljadeja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61868840?s=80&v=4"},"commit":{"message":"protocol: parse empty block data as null (#89)\n\nThe DNA protocol sends an empty block to signal to the client that it\r\nscanned a\r\nblock but didn't find any data.\r\nThis happens when the client sends multiple filters in one request.\r\n\r\nThis PR changes the stream definitions to:\r\n\r\n * Require that the schema returns a nullable type.\r\n * Propagate changes to all the types across packages.\r\n\r\nWe also extend `StreamConfig` to include a `mergeFilter` function that\r\ncan be\r\nused to merge multiple filters into one.","shortMessageHtmlLink":"protocol: parse empty block data as null (#89)"}},{"before":"56b6490ef50e89116d273d92c9e3d5e75ac3de62","after":"b07fa772e744695b8694b0cf04b7587aba4e7f29","ref":"refs/heads/develop","pushedAt":"2024-07-01T18:41:13.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"indexer: add persistence plugin (#88)\n\nadd persistence plugin to persist the indexer’s state between restarts.","shortMessageHtmlLink":"indexer: add persistence plugin (#88)"}},{"before":"2fdfade8e0f39229eacc9008b2aaa82deba715ad","after":"56b6490ef50e89116d273d92c9e3d5e75ac3de62","ref":"refs/heads/develop","pushedAt":"2024-07-01T17:49:37.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jaipaljadeja","name":"Jaipal Jadeja","path":"/jaipaljadeja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61868840?s=80&v=4"},"commit":{"message":"indexer: make sink hookable to ensure ordering (#90)\n\nPreviously, the `Sink` interface used eventemitter to signal when data\r\nwas written or flushed.\r\nEventEmitter emits events in order, but doesn't ensure that the\r\nlisteners are completely done\r\nbefore calling the listeners for the next events.\r\n\r\nThis caused issues because we expect listeners for a batch of data to be\r\ncompletely done\r\nbefore we call the listeners for the next batch of data.\r\n\r\nSwitch Sink to extend the `Hookable` class so that calls to `callHook`\r\nawait for all\r\ncallbacks to be finished before returning.","shortMessageHtmlLink":"indexer: make sink hookable to ensure ordering (#90)"}},{"before":"b4996d59e04c7490ce97b5425e40b8bdff1899ea","after":"2fdfade8e0f39229eacc9008b2aaa82deba715ad","ref":"refs/heads/develop","pushedAt":"2024-06-30T11:45:05.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"indexer: add test for run (#87)\n\n- add `MockStream`, `MockBlock` and `MockFilter` in `@apibara/protocol`\r\n- add `mockIndexer` and a test for `run`","shortMessageHtmlLink":"indexer: add test for run (#87)"}},{"before":"b99f4196d8d813dcac0765244aea1e918907f3de","after":"b4996d59e04c7490ce97b5425e40b8bdff1899ea","ref":"refs/heads/develop","pushedAt":"2024-06-27T19:22:44.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"jaipaljadeja","name":"Jaipal Jadeja","path":"/jaipaljadeja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61868840?s=80&v=4"},"commit":{"message":"Add beacon chain package (#86)","shortMessageHtmlLink":"Add beacon chain package (#86)"}},{"before":"3a0f3812bf10a5c77601c9330d45af9d410d0d57","after":"b99f4196d8d813dcac0765244aea1e918907f3de","ref":"refs/heads/develop","pushedAt":"2024-06-27T08:14:46.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"protocol: add MockClient and refactor VCR cassette file reading (#85)\n\n* Move `VcrClient` to `@apibara/protocol` and rename to `MockClient`.\n* Abstract cassette file reading to `loadCassette` function","shortMessageHtmlLink":"protocol: add MockClient and refactor VCR cassette file reading (#85)"}},{"before":"da2e09af400e80b4a8111750f3321a2d7c45f951","after":"3a0f3812bf10a5c77601c9330d45af9d410d0d57","ref":"refs/heads/develop","pushedAt":"2024-06-26T16:45:21.000Z","pushType":"pr_merge","commitsCount":8,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"indexer: add kv plugin (#84)\n\nadd `kv` plugin, `useKVStore` hook and `KVStore` test. also update\r\n`biome` config to check for unused imports","shortMessageHtmlLink":"indexer: add kv plugin (#84)"}},{"before":"51f640edd3734b22b158acf145ec9040a3f399bc","after":"da2e09af400e80b4a8111750f3321a2d7c45f951","ref":"refs/heads/develop","pushedAt":"2024-06-20T07:31:44.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"indexer: add vcr integration with vitest (#82)\n\nextends `vitest` context with `vcr` allowing user to use recorded\r\nstreams for writing tests.","shortMessageHtmlLink":"indexer: add vcr integration with vitest (#82)"}},{"before":"83fb5f40d9ff8431d11e4dcc4c5b5c86adf169fc","after":"51f640edd3734b22b158acf145ec9040a3f399bc","ref":"refs/heads/develop","pushedAt":"2024-06-19T15:50:48.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"jaipaljadeja","name":"Jaipal Jadeja","path":"/jaipaljadeja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61868840?s=80&v=4"},"commit":{"message":"Add typecheck command (#83)\n\nAdd a typecheck command to test types before building","shortMessageHtmlLink":"Add typecheck command (#83)"}},{"before":"8358ff32705cf4fd93a9d3ae5d18d1b9dba3f731","after":"83fb5f40d9ff8431d11e4dcc4c5b5c86adf169fc","ref":"refs/heads/develop","pushedAt":"2024-06-19T15:03:23.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"jaipaljadeja","name":"Jaipal Jadeja","path":"/jaipaljadeja","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/61868840?s=80&v=4"},"commit":{"message":"Update biome version and config (#81)\n\nUpdate biome.js to sort imports","shortMessageHtmlLink":"Update biome version and config (#81)"}},{"before":"3866d83e86a976fe1bb0a4e10c96fa19aa76ad63","after":"8358ff32705cf4fd93a9d3ae5d18d1b9dba3f731","ref":"refs/heads/develop","pushedAt":"2024-06-18T11:27:25.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"fracek","name":"Francesco Ceccon","path":"/fracek","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/282580?s=80&v=4"},"commit":{"message":"Add VCR streaming (#80)\n\nAdd VCR streaming which can record streams to a file and replay them\r\nwithout connecting to the actual stream.","shortMessageHtmlLink":"Add VCR streaming (#80)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQxOToxNDowMi4wMDAwMDBazwAAAAS7PDlC","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQxOToxNDowMi4wMDAwMDBazwAAAAS7PDlC","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xOFQxMToyNzoyNS4wMDAwMDBazwAAAARoYJpb"}},"title":"Activity · apibara/typescript-sdk"}