@convex-dev/agent 0.1.10 → 0.1.12

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.
Files changed (138) hide show
  1. package/dist/esm/client/index.d.ts +2 -0
  2. package/dist/esm/client/index.d.ts.map +1 -1
  3. package/dist/esm/client/index.js +35 -26
  4. package/dist/esm/client/index.js.map +1 -1
  5. package/dist/esm/mapping.d.ts +1 -0
  6. package/dist/esm/mapping.d.ts.map +1 -1
  7. package/dist/esm/mapping.js +2 -2
  8. package/dist/esm/mapping.js.map +1 -1
  9. package/dist/esm/react/useSmoothText.d.ts +7 -1
  10. package/dist/esm/react/useSmoothText.d.ts.map +1 -1
  11. package/dist/esm/react/useSmoothText.js +5 -5
  12. package/dist/esm/react/useSmoothText.js.map +1 -1
  13. package/dist/esm.tsbuildinfo +1 -1
  14. package/package.json +24 -53
  15. package/src/client/index.ts +39 -29
  16. package/src/mapping.ts +9 -2
  17. package/src/react/useSmoothText.ts +11 -4
  18. package/dist/commonjs/client/_generated/_ignore.d.ts +0 -1
  19. package/dist/commonjs/client/_generated/_ignore.d.ts.map +0 -1
  20. package/dist/commonjs/client/_generated/_ignore.js +0 -3
  21. package/dist/commonjs/client/_generated/_ignore.js.map +0 -1
  22. package/dist/commonjs/client/createTool.d.ts +0 -47
  23. package/dist/commonjs/client/createTool.d.ts.map +0 -1
  24. package/dist/commonjs/client/createTool.js +0 -49
  25. package/dist/commonjs/client/createTool.js.map +0 -1
  26. package/dist/commonjs/client/files.d.ts +0 -56
  27. package/dist/commonjs/client/files.d.ts.map +0 -1
  28. package/dist/commonjs/client/files.js +0 -129
  29. package/dist/commonjs/client/files.js.map +0 -1
  30. package/dist/commonjs/client/index.d.ts +0 -1355
  31. package/dist/commonjs/client/index.d.ts.map +0 -1
  32. package/dist/commonjs/client/index.js +0 -1169
  33. package/dist/commonjs/client/index.js.map +0 -1
  34. package/dist/commonjs/client/streaming.d.ts +0 -57
  35. package/dist/commonjs/client/streaming.d.ts.map +0 -1
  36. package/dist/commonjs/client/streaming.js +0 -148
  37. package/dist/commonjs/client/streaming.js.map +0 -1
  38. package/dist/commonjs/client/types.d.ts +0 -352
  39. package/dist/commonjs/client/types.d.ts.map +0 -1
  40. package/dist/commonjs/client/types.js +0 -3
  41. package/dist/commonjs/client/types.js.map +0 -1
  42. package/dist/commonjs/component/_generated/api.d.ts +0 -1938
  43. package/dist/commonjs/component/_generated/api.d.ts.map +0 -1
  44. package/dist/commonjs/component/_generated/api.js +0 -25
  45. package/dist/commonjs/component/_generated/api.js.map +0 -1
  46. package/dist/commonjs/component/_generated/dataModel.d.ts +0 -60
  47. package/dist/commonjs/component/_generated/server.d.ts +0 -149
  48. package/dist/commonjs/component/_generated/server.d.ts.map +0 -1
  49. package/dist/commonjs/component/_generated/server.js +0 -77
  50. package/dist/commonjs/component/_generated/server.js.map +0 -1
  51. package/dist/commonjs/component/apiKeys.d.ts +0 -11
  52. package/dist/commonjs/component/apiKeys.d.ts.map +0 -1
  53. package/dist/commonjs/component/apiKeys.js +0 -72
  54. package/dist/commonjs/component/apiKeys.js.map +0 -1
  55. package/dist/commonjs/component/convex.config.d.ts +0 -3
  56. package/dist/commonjs/component/convex.config.d.ts.map +0 -1
  57. package/dist/commonjs/component/convex.config.js +0 -5
  58. package/dist/commonjs/component/convex.config.js.map +0 -1
  59. package/dist/commonjs/component/files.d.ts +0 -90
  60. package/dist/commonjs/component/files.d.ts.map +0 -1
  61. package/dist/commonjs/component/files.js +0 -157
  62. package/dist/commonjs/component/files.js.map +0 -1
  63. package/dist/commonjs/component/messages.d.ts +0 -1479
  64. package/dist/commonjs/component/messages.d.ts.map +0 -1
  65. package/dist/commonjs/component/messages.js +0 -483
  66. package/dist/commonjs/component/messages.js.map +0 -1
  67. package/dist/commonjs/component/schema.d.ts +0 -4582
  68. package/dist/commonjs/component/schema.d.ts.map +0 -1
  69. package/dist/commonjs/component/schema.js +0 -167
  70. package/dist/commonjs/component/schema.js.map +0 -1
  71. package/dist/commonjs/component/streams.d.ts +0 -242
  72. package/dist/commonjs/component/streams.d.ts.map +0 -1
  73. package/dist/commonjs/component/streams.js +0 -323
  74. package/dist/commonjs/component/streams.js.map +0 -1
  75. package/dist/commonjs/component/threads.d.ts +0 -101
  76. package/dist/commonjs/component/threads.d.ts.map +0 -1
  77. package/dist/commonjs/component/threads.js +0 -188
  78. package/dist/commonjs/component/threads.js.map +0 -1
  79. package/dist/commonjs/component/users.d.ts +0 -52
  80. package/dist/commonjs/component/users.d.ts.map +0 -1
  81. package/dist/commonjs/component/users.js +0 -233
  82. package/dist/commonjs/component/users.js.map +0 -1
  83. package/dist/commonjs/component/vector/index.d.ts +0 -61
  84. package/dist/commonjs/component/vector/index.d.ts.map +0 -1
  85. package/dist/commonjs/component/vector/index.js +0 -153
  86. package/dist/commonjs/component/vector/index.js.map +0 -1
  87. package/dist/commonjs/component/vector/tables.d.ts +0 -58
  88. package/dist/commonjs/component/vector/tables.d.ts.map +0 -1
  89. package/dist/commonjs/component/vector/tables.js +0 -62
  90. package/dist/commonjs/component/vector/tables.js.map +0 -1
  91. package/dist/commonjs/mapping.d.ts +0 -50
  92. package/dist/commonjs/mapping.d.ts.map +0 -1
  93. package/dist/commonjs/mapping.js +0 -272
  94. package/dist/commonjs/mapping.js.map +0 -1
  95. package/dist/commonjs/package.json +0 -3
  96. package/dist/commonjs/react/deltas.d.ts +0 -29
  97. package/dist/commonjs/react/deltas.d.ts.map +0 -1
  98. package/dist/commonjs/react/deltas.js +0 -274
  99. package/dist/commonjs/react/deltas.js.map +0 -1
  100. package/dist/commonjs/react/index.d.ts +0 -95
  101. package/dist/commonjs/react/index.d.ts.map +0 -1
  102. package/dist/commonjs/react/index.js +0 -219
  103. package/dist/commonjs/react/index.js.map +0 -1
  104. package/dist/commonjs/react/optimisticallySendMessage.d.ts +0 -8
  105. package/dist/commonjs/react/optimisticallySendMessage.d.ts.map +0 -1
  106. package/dist/commonjs/react/optimisticallySendMessage.js +0 -43
  107. package/dist/commonjs/react/optimisticallySendMessage.js.map +0 -1
  108. package/dist/commonjs/react/toUIMessages.d.ts +0 -13
  109. package/dist/commonjs/react/toUIMessages.d.ts.map +0 -1
  110. package/dist/commonjs/react/toUIMessages.js +0 -149
  111. package/dist/commonjs/react/toUIMessages.js.map +0 -1
  112. package/dist/commonjs/react/types.d.ts +0 -26
  113. package/dist/commonjs/react/types.d.ts.map +0 -1
  114. package/dist/commonjs/react/types.js +0 -3
  115. package/dist/commonjs/react/types.js.map +0 -1
  116. package/dist/commonjs/react/useSmoothText.d.ts +0 -20
  117. package/dist/commonjs/react/useSmoothText.d.ts.map +0 -1
  118. package/dist/commonjs/react/useSmoothText.js +0 -54
  119. package/dist/commonjs/react/useSmoothText.js.map +0 -1
  120. package/dist/commonjs/shared.d.ts +0 -10
  121. package/dist/commonjs/shared.d.ts.map +0 -1
  122. package/dist/commonjs/shared.js +0 -35
  123. package/dist/commonjs/shared.js.map +0 -1
  124. package/dist/commonjs/validators.d.ts +0 -5716
  125. package/dist/commonjs/validators.d.ts.map +0 -1
  126. package/dist/commonjs/validators.js +0 -319
  127. package/dist/commonjs/validators.js.map +0 -1
  128. package/dist/commonjs/vitest.config.d.ts +0 -3
  129. package/dist/commonjs/vitest.config.d.ts.map +0 -1
  130. package/dist/commonjs/vitest.config.js +0 -9
  131. package/dist/commonjs/vitest.config.js.map +0 -1
  132. package/dist/commonjs.tsbuildinfo +0 -1
  133. package/dist/esm/vitest.config.d.ts +0 -3
  134. package/dist/esm/vitest.config.d.ts.map +0 -1
  135. package/dist/esm/vitest.config.js +0 -7
  136. package/dist/esm/vitest.config.js.map +0 -1
  137. package/react/package.json +0 -5
  138. package/validators/package.json +0 -5
@@ -1,157 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteFiles = exports.getFilesToDelete = exports.copyFile = exports.useExistingFile = exports.get = exports.addFile = void 0;
4
- exports.addFileHandler = addFileHandler;
5
- exports.copyFileHandler = copyFileHandler;
6
- const pagination_1 = require("convex-helpers/server/pagination");
7
- const server_js_1 = require("./_generated/server.js");
8
- const schema_js_1 = require("./schema.js");
9
- const server_1 = require("convex/server");
10
- const addFileArgs = schema_js_1.v.object({
11
- storageId: schema_js_1.v.string(),
12
- hash: schema_js_1.v.string(),
13
- filename: schema_js_1.v.optional(schema_js_1.v.string()),
14
- mimeType: schema_js_1.v.string(),
15
- });
16
- exports.addFile = (0, server_js_1.mutation)({
17
- args: addFileArgs,
18
- handler: addFileHandler,
19
- returns: {
20
- fileId: schema_js_1.v.id("files"),
21
- storageId: schema_js_1.v.string(),
22
- },
23
- });
24
- async function addFileHandler(ctx, args) {
25
- const existingFile = await ctx.db
26
- .query("files")
27
- .withIndex("hash", (q) => q.eq("hash", args.hash))
28
- .filter((q) => q.eq(q.field("filename"), args.filename))
29
- .first();
30
- if (existingFile) {
31
- // increment the refcount
32
- await ctx.db.patch(existingFile._id, {
33
- refcount: existingFile.refcount + 1,
34
- lastTouchedAt: Date.now(),
35
- });
36
- return {
37
- fileId: existingFile._id,
38
- storageId: existingFile.storageId,
39
- };
40
- }
41
- const fileId = await ctx.db.insert("files", {
42
- ...args,
43
- // We start out with it unused - when it's saved in a message we increment.
44
- refcount: 0,
45
- lastTouchedAt: Date.now(),
46
- });
47
- return {
48
- fileId,
49
- storageId: args.storageId,
50
- };
51
- }
52
- exports.get = (0, server_js_1.query)({
53
- args: {
54
- fileId: schema_js_1.v.id("files"),
55
- },
56
- returns: schema_js_1.v.union(schema_js_1.v.null(), schema_js_1.v.doc("files")),
57
- handler: async (ctx, args) => {
58
- return ctx.db.get(args.fileId);
59
- },
60
- });
61
- /**
62
- * If you plan to have the same file added over and over without a reference to
63
- * the fileId, you can use this query to get the fileId of the existing file.
64
- * Note: this will not increment the refcount. only saving messages does that.
65
- * It will only match if the filename is the same (or both are undefined).
66
- */
67
- exports.useExistingFile = (0, server_js_1.mutation)({
68
- args: {
69
- hash: schema_js_1.v.string(),
70
- filename: schema_js_1.v.optional(schema_js_1.v.string()),
71
- },
72
- handler: async (ctx, args) => {
73
- const file = await ctx.db
74
- .query("files")
75
- .withIndex("hash", (q) => q.eq("hash", args.hash))
76
- .filter((q) => q.eq(q.field("filename"), args.filename))
77
- .first();
78
- if (!file) {
79
- return null;
80
- }
81
- await ctx.db.patch(file._id, {
82
- lastTouchedAt: Date.now(),
83
- });
84
- return { fileId: file._id, storageId: file.storageId };
85
- },
86
- returns: schema_js_1.v.union(schema_js_1.v.null(), schema_js_1.v.object({
87
- fileId: schema_js_1.v.id("files"),
88
- storageId: schema_js_1.v.string(),
89
- })),
90
- });
91
- exports.copyFile = (0, server_js_1.mutation)({
92
- args: {
93
- fileId: schema_js_1.v.id("files"),
94
- },
95
- handler: copyFileHandler,
96
- returns: schema_js_1.v.null(),
97
- });
98
- async function copyFileHandler(ctx, args) {
99
- const file = await ctx.db.get(args.fileId);
100
- if (!file) {
101
- throw new Error("File not found");
102
- }
103
- await ctx.db.patch(args.fileId, {
104
- refcount: file.refcount + 1,
105
- lastTouchedAt: Date.now(),
106
- });
107
- }
108
- /**
109
- * Get files that are unused and can be deleted.
110
- * This is useful for cleaning up files that are no longer needed.
111
- * Note: recently added files that have not been saved yet will show up here.
112
- * You can inspect the `lastTouchedAt` field to see how recently it was used.
113
- * I'd recommend not deleting anything touched in the last 24 hours.
114
- */
115
- exports.getFilesToDelete = (0, server_js_1.query)({
116
- args: {
117
- paginationOpts: server_1.paginationOptsValidator,
118
- },
119
- handler: async (ctx, args) => {
120
- const files = await (0, pagination_1.paginator)(ctx.db, schema_js_1.schema)
121
- .query("files")
122
- .withIndex("refcount", (q) => q.eq("refcount", 0))
123
- .paginate(args.paginationOpts);
124
- return files;
125
- },
126
- returns: schema_js_1.v.object({
127
- page: schema_js_1.v.array(schema_js_1.v.doc("files")),
128
- continueCursor: schema_js_1.v.string(),
129
- isDone: schema_js_1.v.boolean(),
130
- }),
131
- });
132
- exports.deleteFiles = (0, server_js_1.mutation)({
133
- args: {
134
- fileIds: schema_js_1.v.array(schema_js_1.v.id("files")),
135
- force: schema_js_1.v.optional(schema_js_1.v.boolean()),
136
- },
137
- returns: schema_js_1.v.array(schema_js_1.v.id("files")),
138
- handler: async (ctx, args) => {
139
- const deletedFileIds = await Promise.all(args.fileIds.map(async (fileId) => {
140
- const file = await ctx.db.get(fileId);
141
- if (!file) {
142
- console.error(`File ${fileId} not found when deleting, skipping...`);
143
- return null;
144
- }
145
- if (file.refcount && file.refcount > 0) {
146
- if (!args.force) {
147
- console.error(`File ${fileId} has refcount ${file.refcount} > 0, skipping...`);
148
- return null;
149
- }
150
- }
151
- await ctx.db.delete(fileId);
152
- return fileId;
153
- }));
154
- return deletedFileIds.filter((fileId) => fileId !== null);
155
- },
156
- });
157
- //# sourceMappingURL=files.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/component/files.ts"],"names":[],"mappings":"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"}