@multiplayer-app/ai-agent-mongo 0.1.0-beta.5 → 0.1.0-beta.6
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/dist/cjs/mongo/index.cjs +55 -0
- package/dist/cjs/mongo/index.cjs.map +1 -1
- package/dist/cjs/mongo/index.d.ts +2 -1
- package/dist/cjs/mongo/index.d.ts.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/mongo/index.d.ts +2 -1
- package/dist/esm/mongo/index.d.ts.map +1 -1
- package/dist/esm/mongo/index.js +55 -0
- package/dist/esm/mongo/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +3 -3
package/dist/cjs/mongo/index.cjs
CHANGED
|
@@ -88,6 +88,60 @@ const connect = async () => {
|
|
|
88
88
|
};
|
|
89
89
|
await mongoose_1.default.connect(_Config.MONGODB_URI, options);
|
|
90
90
|
};
|
|
91
|
+
/**
|
|
92
|
+
* Ensure all model indexes are created on the given connection
|
|
93
|
+
* This is called when using an existing connection to ensure indexes exist
|
|
94
|
+
* even if autoIndex was disabled on that connection
|
|
95
|
+
*/
|
|
96
|
+
const ensureIndexes = async (connection) => {
|
|
97
|
+
try {
|
|
98
|
+
// Get all models registered on this connection
|
|
99
|
+
const modelNames = connection.modelNames();
|
|
100
|
+
// Also check for library models that might be on the default connection
|
|
101
|
+
// (if connection is from the same Mongoose instance)
|
|
102
|
+
const libraryModelNames = ['AgentChat', 'AgentMessage'];
|
|
103
|
+
const allModelNames = [...new Set([...modelNames, ...libraryModelNames])];
|
|
104
|
+
logger.info(`[MONGO] Ensuring indexes for models on existing connection`);
|
|
105
|
+
// Sync indexes for all models
|
|
106
|
+
// This will create indexes defined in schemas even if autoIndex is disabled
|
|
107
|
+
await Promise.all(allModelNames.map(async (modelName) => {
|
|
108
|
+
try {
|
|
109
|
+
// Check if model exists on this connection
|
|
110
|
+
// connection.models is a map of all registered models
|
|
111
|
+
const model = connection.models[modelName];
|
|
112
|
+
if (!model) {
|
|
113
|
+
logger.debug?.(`[MONGO] Model ${modelName} not found on connection, skipping`);
|
|
114
|
+
return Promise.resolve();
|
|
115
|
+
}
|
|
116
|
+
// Sync indexes for the model
|
|
117
|
+
// This will create indexes defined in schemas even if autoIndex is disabled
|
|
118
|
+
return model.syncIndexes().catch((err) => {
|
|
119
|
+
// Model might not exist on this connection, which is fine
|
|
120
|
+
const errMessage = err?.message || String(err);
|
|
121
|
+
if (errMessage.includes('Cannot overwrite') || errMessage.includes('model')) {
|
|
122
|
+
logger.debug?.(`[MONGO] Model ${modelName} not available on this connection, skipping`);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
logger.error(err, `[MONGO] Failed to sync indexes for model ${modelName}: ${errMessage}`);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
// Model doesn't exist on this connection - this is expected if using a different Mongoose instance
|
|
131
|
+
const errMessage = err?.message || String(err);
|
|
132
|
+
if (errMessage.includes('model') || errMessage.includes('not found')) {
|
|
133
|
+
logger.debug?.(`[MONGO] Model ${modelName} not found on connection, skipping`);
|
|
134
|
+
}
|
|
135
|
+
return Promise.resolve();
|
|
136
|
+
}
|
|
137
|
+
}));
|
|
138
|
+
logger.info('[MONGO] Indexes ensured for available models');
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
logger.error(error, '[MONGO] Error ensuring indexes on existing connection');
|
|
142
|
+
// Don't throw - allow connection to proceed even if index creation fails
|
|
143
|
+
}
|
|
144
|
+
};
|
|
91
145
|
const connected = () => mongoose_1.default.connection.readyState === 1;
|
|
92
146
|
exports.connected = connected;
|
|
93
147
|
const disconnect = async () => {
|
|
@@ -107,5 +161,6 @@ exports.default = {
|
|
|
107
161
|
ObjectId: mongoose_1.default.Types.ObjectId,
|
|
108
162
|
Schema: mongoose_1.default.Schema,
|
|
109
163
|
Model: mongoose_1.default.Model,
|
|
164
|
+
ensureIndexes,
|
|
110
165
|
};
|
|
111
166
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mongo/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mongo/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Mongoose from 'mongoose';
|
|
1
|
+
import Mongoose, { Connection } from 'mongoose';
|
|
2
2
|
import * as _Config from './config';
|
|
3
3
|
import * as _encryption from './encryption';
|
|
4
4
|
export declare const encryption: typeof _encryption;
|
|
@@ -20,6 +20,7 @@ declare const _default: {
|
|
|
20
20
|
ObjectId: typeof Mongoose.Types.ObjectId;
|
|
21
21
|
Schema: typeof Mongoose.Schema;
|
|
22
22
|
Model: Mongoose.Model<any, {}, {}, {}, any, any>;
|
|
23
|
+
ensureIndexes: (connection: Connection) => Promise<void>;
|
|
23
24
|
};
|
|
24
25
|
export default _default;
|
|
25
26
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mongo/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAkB,UAAU,EAAE,MAAM,UAAU,CAAA;AAE/D,OAAO,KAAK,OAAO,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,WAAW,MAAM,cAAc,CAAA;AAI3C,eAAO,MAAM,UAAU,oBAAc,CAAA;AAIrC,eAAO,MAAM,QAAQ,iBAAW,CAAA;AAEhC,eAAO,MAAM,QAAQ,gCAA0B,CAAA;AAE/C,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAA;AAE9C,YAAY,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,eAAO,MAAM,MAAM,wBAAkB,CAAA;AAErC,eAAO,MAAM,KAAK,2CAAiB,CAAA;AAEnC,eAAO,MAAM,MAAM,gBAAU,CAAA;AA8G7B,eAAO,MAAM,SAAS,eAA6C,CAAA;;;;;;;;;;gCAtD1B,UAAU;;AAgEnD,wBAUC"}
|