Repository navigation
Releases: DavideCarvalho/nestjs-agent
Release list
@dudousxd/nestjs-agent@1.39.1
Patch Changes
- #403
22c8dd7Thanks @DavideCarvalho! - Depend onzod^4.6.6instead of3.25.76, which GHSA-mrhx-c7xc-m3w5 covers (zodbefore 4.6.6; no 3.x is patched). Your own tools can stay on Zod 3 or use Zod 4. If your app keeps Zod 3, the AI SDK converts this library's built-in tool schemas with its own older converter, so theexecuteSqlinput loses itsdescriptionandminLengthin the JSON Schema the model sees. The input is still validated.
@dudousxd/nestjs-agent-rag@0.14.4
Patch Changes
- #403
22c8dd7Thanks @DavideCarvalho! -RedisVectorStore.updateMetadatanow takes the same per-document lock asreplaceDocumentandremove. Without it, a chunk they deleted mid-update came back as a hash holding only metadata.
@dudousxd/nestjs-agent-rag@0.14.3
Patch Changes
- #402
bc17ff1Thanks @DavideCarvalho! -RedisVectorStore.removeManyandremoveWherewait for areplaceDocumentin progress, so they can't leave part of a document behind.RedisVectorStore.replaceDocumentswaps a document in one script, so a search no longer sees both versions; a document of more than 256 chunks is still written in steps. InMemoryVectorStore,remove,removeManyandremoveWheretake their turn withreplaceDocument.
@dudousxd/nestjs-agent-data@0.4.30
Patch Changes
- #403
22c8dd7Thanks @DavideCarvalho! - Depend onzod^4.6.6instead of3.25.76, which GHSA-mrhx-c7xc-m3w5 covers (zodbefore 4.6.6; no 3.x is patched). Your own tools can stay on Zod 3 or use Zod 4. If your app keeps Zod 3, the AI SDK converts this library's built-in tool schemas with its own older converter, so theexecuteSqlinput loses itsdescriptionandminLengthin the JSON Schema the model sees. The input is still validated.
@dudousxd/nestjs-agent-store-mikro-orm@0.42.0
Minor Changes
- #399
9b9107fThanks @DavideCarvalho! - RAG declared per model.RagRepositoryandRagModule(@dudousxd/nestjs-agent-rag/nestjs, with@nestjs/commonas an optional peer) and the framework-freeRagIndex: a scope a search can't omit or override, no indexing on save, embeddings before replacing chunks,reconcilefor what no hook sees, andonUsage.provideRagDeleteSyncin the MikroORM store removes chunks after the commit. Also new:vectorType: 'halfvec'onPgVectorStore,filter: (ctx) => ...oncreateRetrievalTool, andembedWithUsageonopenAiEmbeddings.
@dudousxd/nestjs-agent-rag@0.14.2
Patch Changes
- #401
e5f91f4Thanks @DavideCarvalho! -RedisVectorStore.removewaits for areplaceDocumentin progress, so it can't leave part of a document behind.MemoryVectorStoregainsreplaceDocument, which queues calls per document.
@dudousxd/nestjs-agent-rag@0.14.1
Patch Changes
- #400
43d5ec7Thanks @DavideCarvalho! -replaceDocumentno longer leaves a mix of versions when the same document is replaced concurrently.PgVectorStoretakes an advisory lock per document, which also stops the deadlocks.RedisVectorStoregainsreplaceDocument, with a per-document lease that needsSETandEVALon the client.
@dudousxd/nestjs-agent-rag@0.14.0
Minor Changes
-
#399
9b9107fThanks @DavideCarvalho! - RAG declared per model.RagRepositoryandRagModule(@dudousxd/nestjs-agent-rag/nestjs, with@nestjs/commonas an optional peer) and the framework-freeRagIndex: a scope a search can't omit or override, no indexing on save, embeddings before replacing chunks,reconcilefor what no hook sees, andonUsage.provideRagDeleteSyncin the MikroORM store removes chunks after the commit. Also new:vectorType: 'halfvec'onPgVectorStore,filter: (ctx) => ...oncreateRetrievalTool, andembedWithUsageonopenAiEmbeddings. -
#398
109aab9Thanks @DavideCarvalho! - Anundefinedfilter value now matches nothing, in every store. On pgvector it used to drop the key and match every row, sonew FilteredRetriever(base, { tenantId: undefined })returned all tenants andremoveWhere({ tenantId: undefined })deleted the table.removeWherenow throwsUnsafeRemovalErrorwith reasonundefined-value. If you pass{ lang: maybeUndefined }to mean "no filter", omit the key instead.
@dudousxd/nestjs-agent-rag-media@0.6.5
Patch Changes
- #398
109aab9Thanks @DavideCarvalho! -ingestMediaFileembeds before removing the previous chunks, so a provider failure no longer drops the document from the index.
@dudousxd/nestjs-agent@1.39.0
Minor Changes
-
#397
2b48120Thanks @DavideCarvalho! -recordUsagecan keep spend the app budgets on its own out of the agent quota, and the usage breakdown gets sharper (paired with@adonis-agora/agent).countsTowardsQuota: falseonAgentService.recordUsage(andRecordUsageInput) keeps a row out of the agent's quota:quotaToday/usageBetween/usageWindowsskip it and noQuotaStorecounter is bumped. It stays in the ledger, every report andusage.recorded(which carriescountsTowardsQuota: false). Stored in the newagent_token_usage.counts_towards_quota(boolean,NOT NULL DEFAULT true), added by the Drizzle heal and the MikroORM heal (schema revision 6).modelIdis optional onrecordUsage: absent,nullor blank →'unknown'(UNKNOWN_MODEL).usageBreakdowntakes a timestamp window ({ from, to },toexclusive,usageRangeBounds) as well as UTC days, reportsunpricedRows, andreprice: falsereports recorded cost only.- Testing: two more
USAGE_LEDGER_STORE_CONTRACTcases.
Patch Changes
- Updated dependencies [
2b48120]:- @dudousxd/nestjs-agent-core@0.61.0