@mastra/factory 0.19.2-alpha.8 → 0.20.0-alpha.10
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/factory.js +7 -7
- package/dist/factory.js.map +1 -1
- package/dist/integrations/base.d.ts +5 -5
- package/dist/integrations/base.d.ts.map +1 -1
- package/dist/integrations/github/default-rules.d.ts +4 -4
- package/dist/integrations/github/default-rules.d.ts.map +1 -1
- package/dist/integrations/github/default-rules.js +13 -2
- package/dist/integrations/github/default-rules.js.map +1 -1
- package/dist/integrations/github/integration.js +1 -1
- package/dist/integrations/github/provenance.d.ts.map +1 -1
- package/dist/integrations/github/provenance.js +2 -1
- package/dist/integrations/github/provenance.js.map +1 -1
- package/dist/integrations/github/routes.d.ts.map +1 -1
- package/dist/integrations/github/routes.js +3 -1
- package/dist/integrations/github/routes.js.map +1 -1
- package/dist/integrations/github/rules.d.ts +8 -0
- package/dist/integrations/github/rules.d.ts.map +1 -1
- package/dist/integrations/github/rules.js +2 -2
- package/dist/integrations/github/rules.js.map +1 -1
- package/dist/integrations/github/session-subscriptions.js +1 -1
- package/dist/integrations/platform/github/integration.js +1 -1
- package/dist/integrations/slack/integration.js +1 -1
- package/dist/integrations/slack/integration.js.map +1 -1
- package/dist/integrations/slack/slack.d.ts +10 -11
- package/dist/integrations/slack/slack.d.ts.map +1 -1
- package/dist/integrations/slack/slack.js +36 -37
- package/dist/integrations/slack/slack.js.map +1 -1
- package/dist/routes/config.d.ts +15 -61
- package/dist/routes/config.d.ts.map +1 -1
- package/dist/routes/config.js +40 -217
- package/dist/routes/config.js.map +1 -1
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +2 -17
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/surface.d.ts +4 -4
- package/dist/routes/surface.d.ts.map +1 -1
- package/dist/routes/surface.js +3 -3
- package/dist/routes/surface.js.map +1 -1
- package/dist/session/default-model-hydration.d.ts +40 -0
- package/dist/session/default-model-hydration.d.ts.map +1 -0
- package/dist/session/default-model-hydration.js +45 -0
- package/dist/session/default-model-hydration.js.map +1 -0
- package/dist/session/factory-session.js +1 -1
- package/dist/session/factory-session.js.map +1 -1
- package/dist/storage/domains/model-defaults/base.d.ts +29 -0
- package/dist/storage/domains/model-defaults/base.d.ts.map +1 -0
- package/dist/storage/domains/model-defaults/base.js +79 -0
- package/dist/storage/domains/model-defaults/base.js.map +1 -0
- package/package.json +7 -7
- package/dist/session/model-pack-hydration.d.ts +0 -55
- package/dist/session/model-pack-hydration.d.ts.map +0 -1
- package/dist/session/model-pack-hydration.js +0 -56
- package/dist/session/model-pack-hydration.js.map +0 -1
- package/dist/storage/domains/model-packs/base.d.ts +0 -75
- package/dist/storage/domains/model-packs/base.d.ts.map +0 -1
- package/dist/storage/domains/model-packs/base.js +0 -185
- package/dist/storage/domains/model-packs/base.js.map +0 -1
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
import { FactoryStorageDomain, UniqueViolationError } from "@mastra/core/storage";
|
|
2
|
-
//#region src/storage/domains/model-packs/base.ts
|
|
3
|
-
const MODEL_PACKS_SCHEMA = {
|
|
4
|
-
name: "model_packs",
|
|
5
|
-
columns: {
|
|
6
|
-
id: { type: "uuid-pk" },
|
|
7
|
-
org_id: { type: "text" },
|
|
8
|
-
created_by: { type: "text" },
|
|
9
|
-
name: { type: "text" },
|
|
10
|
-
build_model_id: { type: "text" },
|
|
11
|
-
plan_model_id: { type: "text" },
|
|
12
|
-
fast_model_id: { type: "text" },
|
|
13
|
-
created_at: { type: "timestamp" },
|
|
14
|
-
updated_at: { type: "timestamp" }
|
|
15
|
-
},
|
|
16
|
-
indexes: [{
|
|
17
|
-
name: "model_packs_org_name_idx",
|
|
18
|
-
columns: ["org_id", "name"]
|
|
19
|
-
}]
|
|
20
|
-
};
|
|
21
|
-
const ACTIVE_MODEL_PACKS_SCHEMA = {
|
|
22
|
-
name: "active_model_packs",
|
|
23
|
-
columns: {
|
|
24
|
-
id: { type: "uuid-pk" },
|
|
25
|
-
org_id: { type: "text" },
|
|
26
|
-
user_id: { type: "text" },
|
|
27
|
-
pack_id: { type: "text" },
|
|
28
|
-
build_model_id: { type: "text" },
|
|
29
|
-
plan_model_id: { type: "text" },
|
|
30
|
-
fast_model_id: { type: "text" },
|
|
31
|
-
updated_at: { type: "timestamp" }
|
|
32
|
-
},
|
|
33
|
-
uniqueIndexes: [{
|
|
34
|
-
name: "active_model_packs_org_user_key",
|
|
35
|
-
columns: ["org_id", "user_id"]
|
|
36
|
-
}]
|
|
37
|
-
};
|
|
38
|
-
function toModelPack(row) {
|
|
39
|
-
return {
|
|
40
|
-
id: row.id,
|
|
41
|
-
orgId: row.org_id,
|
|
42
|
-
createdBy: row.created_by,
|
|
43
|
-
name: row.name,
|
|
44
|
-
models: {
|
|
45
|
-
build: row.build_model_id,
|
|
46
|
-
plan: row.plan_model_id,
|
|
47
|
-
fast: row.fast_model_id
|
|
48
|
-
},
|
|
49
|
-
createdAt: row.created_at,
|
|
50
|
-
updatedAt: row.updated_at
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
function toActiveModelPack(row) {
|
|
54
|
-
return {
|
|
55
|
-
orgId: row.org_id,
|
|
56
|
-
userId: row.user_id,
|
|
57
|
-
packId: row.pack_id,
|
|
58
|
-
models: {
|
|
59
|
-
build: row.build_model_id,
|
|
60
|
-
plan: row.plan_model_id,
|
|
61
|
-
fast: row.fast_model_id
|
|
62
|
-
},
|
|
63
|
-
updatedAt: row.updated_at
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
var ModelPacksStorage = class extends FactoryStorageDomain {
|
|
67
|
-
constructor() {
|
|
68
|
-
super("model-packs");
|
|
69
|
-
}
|
|
70
|
-
async init() {
|
|
71
|
-
await this.ensureCollections([MODEL_PACKS_SCHEMA, ACTIVE_MODEL_PACKS_SCHEMA]);
|
|
72
|
-
}
|
|
73
|
-
async dangerouslyClearAll() {
|
|
74
|
-
await this.ops.deleteMany("active_model_packs", {});
|
|
75
|
-
await this.ops.deleteMany("model_packs", {});
|
|
76
|
-
}
|
|
77
|
-
get #db() {
|
|
78
|
-
return this.ops;
|
|
79
|
-
}
|
|
80
|
-
/** Create or replace a pack by `(orgId, name)` — mirrors the settings.json upsert semantics. */
|
|
81
|
-
async upsert({ orgId, userId, input }) {
|
|
82
|
-
const now = /* @__PURE__ */ new Date();
|
|
83
|
-
const existing = await this.#db.findOne("model_packs", {
|
|
84
|
-
org_id: orgId,
|
|
85
|
-
name: input.name
|
|
86
|
-
});
|
|
87
|
-
if (existing) {
|
|
88
|
-
const row = await this.#db.updateAtomic("model_packs", {
|
|
89
|
-
org_id: orgId,
|
|
90
|
-
id: existing.id
|
|
91
|
-
}, () => ({
|
|
92
|
-
build_model_id: input.models.build,
|
|
93
|
-
plan_model_id: input.models.plan,
|
|
94
|
-
fast_model_id: input.models.fast,
|
|
95
|
-
updated_at: now
|
|
96
|
-
}));
|
|
97
|
-
await this.#db.updateMany("active_model_packs", {
|
|
98
|
-
org_id: orgId,
|
|
99
|
-
pack_id: `custom:${existing.id}`
|
|
100
|
-
}, {
|
|
101
|
-
build_model_id: input.models.build,
|
|
102
|
-
plan_model_id: input.models.plan,
|
|
103
|
-
fast_model_id: input.models.fast,
|
|
104
|
-
updated_at: now
|
|
105
|
-
});
|
|
106
|
-
return toModelPack(row ?? existing);
|
|
107
|
-
}
|
|
108
|
-
return toModelPack(await this.#db.insertOne("model_packs", {
|
|
109
|
-
org_id: orgId,
|
|
110
|
-
created_by: userId,
|
|
111
|
-
name: input.name,
|
|
112
|
-
build_model_id: input.models.build,
|
|
113
|
-
plan_model_id: input.models.plan,
|
|
114
|
-
fast_model_id: input.models.fast,
|
|
115
|
-
created_at: now,
|
|
116
|
-
updated_at: now
|
|
117
|
-
}));
|
|
118
|
-
}
|
|
119
|
-
async list({ orgId }) {
|
|
120
|
-
return (await this.#db.findMany("model_packs", { org_id: orgId }, { orderBy: [["name", "asc"]] })).map(toModelPack);
|
|
121
|
-
}
|
|
122
|
-
async get({ orgId, id }) {
|
|
123
|
-
const row = await this.#db.findOne("model_packs", {
|
|
124
|
-
org_id: orgId,
|
|
125
|
-
id
|
|
126
|
-
});
|
|
127
|
-
return row ? toModelPack(row) : null;
|
|
128
|
-
}
|
|
129
|
-
async setActive({ orgId, userId, packId, models }) {
|
|
130
|
-
const now = /* @__PURE__ */ new Date();
|
|
131
|
-
const values = {
|
|
132
|
-
pack_id: packId,
|
|
133
|
-
build_model_id: models.build,
|
|
134
|
-
plan_model_id: models.plan,
|
|
135
|
-
fast_model_id: models.fast,
|
|
136
|
-
updated_at: now
|
|
137
|
-
};
|
|
138
|
-
const updateExisting = () => this.#db.updateAtomic("active_model_packs", {
|
|
139
|
-
org_id: orgId,
|
|
140
|
-
user_id: userId
|
|
141
|
-
}, () => values);
|
|
142
|
-
const updated = await updateExisting();
|
|
143
|
-
if (updated) return toActiveModelPack(updated);
|
|
144
|
-
try {
|
|
145
|
-
return toActiveModelPack(await this.#db.insertOne("active_model_packs", {
|
|
146
|
-
org_id: orgId,
|
|
147
|
-
user_id: userId,
|
|
148
|
-
...values
|
|
149
|
-
}));
|
|
150
|
-
} catch (error) {
|
|
151
|
-
if (!(error instanceof UniqueViolationError)) throw error;
|
|
152
|
-
const row = await updateExisting();
|
|
153
|
-
if (!row) throw error;
|
|
154
|
-
return toActiveModelPack(row);
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
async getActive({ orgId, userId }) {
|
|
158
|
-
const row = await this.#db.findOne("active_model_packs", {
|
|
159
|
-
org_id: orgId,
|
|
160
|
-
user_id: userId
|
|
161
|
-
});
|
|
162
|
-
return row ? toActiveModelPack(row) : null;
|
|
163
|
-
}
|
|
164
|
-
async clearActive({ orgId, userId }) {
|
|
165
|
-
return await this.#db.deleteMany("active_model_packs", {
|
|
166
|
-
org_id: orgId,
|
|
167
|
-
user_id: userId
|
|
168
|
-
}) > 0;
|
|
169
|
-
}
|
|
170
|
-
async delete({ orgId, id }) {
|
|
171
|
-
const deleted = await this.#db.deleteMany("model_packs", {
|
|
172
|
-
org_id: orgId,
|
|
173
|
-
id
|
|
174
|
-
}) > 0;
|
|
175
|
-
if (deleted) await this.#db.deleteMany("active_model_packs", {
|
|
176
|
-
org_id: orgId,
|
|
177
|
-
pack_id: `custom:${id}`
|
|
178
|
-
});
|
|
179
|
-
return deleted;
|
|
180
|
-
}
|
|
181
|
-
};
|
|
182
|
-
//#endregion
|
|
183
|
-
export { ACTIVE_MODEL_PACKS_SCHEMA, MODEL_PACKS_SCHEMA, ModelPacksStorage };
|
|
184
|
-
|
|
185
|
-
//# sourceMappingURL=base.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","names":["#db"],"sources":["../../../../src/storage/domains/model-packs/base.ts"],"sourcesContent":["import { FactoryStorageDomain, UniqueViolationError } from '@mastra/core/storage';\nimport type { CollectionSchema, FactoryStorageOps } from '@mastra/core/storage';\n\n/** A saved custom model pack: one model per mode (build / plan / fast). */\nexport interface ModelPackRecord {\n id: string;\n orgId: string;\n createdBy: string;\n name: string;\n models: { build: string; plan: string; fast: string };\n createdAt: Date;\n updatedAt: Date;\n}\n\nexport interface UpsertModelPackInput {\n name: string;\n models: { build: string; plan: string; fast: string };\n}\n\nexport interface ActiveModelPackRecord {\n orgId: string;\n userId: string;\n packId: string;\n models: { build: string; plan: string; fast: string };\n updatedAt: Date;\n}\n\nexport const MODEL_PACKS_SCHEMA: CollectionSchema = {\n name: 'model_packs',\n columns: {\n id: { type: 'uuid-pk' },\n org_id: { type: 'text' },\n created_by: { type: 'text' },\n name: { type: 'text' },\n build_model_id: { type: 'text' },\n plan_model_id: { type: 'text' },\n fast_model_id: { type: 'text' },\n created_at: { type: 'timestamp' },\n updated_at: { type: 'timestamp' },\n },\n indexes: [{ name: 'model_packs_org_name_idx', columns: ['org_id', 'name'] }],\n};\n\nexport const ACTIVE_MODEL_PACKS_SCHEMA: CollectionSchema = {\n name: 'active_model_packs',\n columns: {\n id: { type: 'uuid-pk' },\n org_id: { type: 'text' },\n user_id: { type: 'text' },\n pack_id: { type: 'text' },\n build_model_id: { type: 'text' },\n plan_model_id: { type: 'text' },\n fast_model_id: { type: 'text' },\n updated_at: { type: 'timestamp' },\n },\n uniqueIndexes: [{ name: 'active_model_packs_org_user_key', columns: ['org_id', 'user_id'] }],\n};\n\ninterface ModelPackDbRow extends Record<string, unknown> {\n id: string;\n org_id: string;\n created_by: string;\n name: string;\n build_model_id: string;\n plan_model_id: string;\n fast_model_id: string;\n created_at: Date;\n updated_at: Date;\n}\n\ninterface ActiveModelPackDbRow extends Record<string, unknown> {\n id: string;\n org_id: string;\n user_id: string;\n pack_id: string;\n build_model_id: string;\n plan_model_id: string;\n fast_model_id: string;\n updated_at: Date;\n}\n\nfunction toModelPack(row: ModelPackDbRow): ModelPackRecord {\n return {\n id: row.id,\n orgId: row.org_id,\n createdBy: row.created_by,\n name: row.name,\n models: { build: row.build_model_id, plan: row.plan_model_id, fast: row.fast_model_id },\n createdAt: row.created_at,\n updatedAt: row.updated_at,\n };\n}\n\nfunction toActiveModelPack(row: ActiveModelPackDbRow): ActiveModelPackRecord {\n return {\n orgId: row.org_id,\n userId: row.user_id,\n packId: row.pack_id,\n models: { build: row.build_model_id, plan: row.plan_model_id, fast: row.fast_model_id },\n updatedAt: row.updated_at,\n };\n}\n\nexport class ModelPacksStorage extends FactoryStorageDomain {\n constructor() {\n super('model-packs');\n }\n\n async init(): Promise<void> {\n await this.ensureCollections([MODEL_PACKS_SCHEMA, ACTIVE_MODEL_PACKS_SCHEMA]);\n }\n\n async dangerouslyClearAll(): Promise<void> {\n await this.ops.deleteMany('active_model_packs', {});\n await this.ops.deleteMany('model_packs', {});\n }\n\n get #db(): FactoryStorageOps {\n return this.ops;\n }\n\n /** Create or replace a pack by `(orgId, name)` — mirrors the settings.json upsert semantics. */\n async upsert({\n orgId,\n userId,\n input,\n }: {\n orgId: string;\n userId: string;\n input: UpsertModelPackInput;\n }): Promise<ModelPackRecord> {\n const now = new Date();\n const existing = await this.#db.findOne<ModelPackDbRow>('model_packs', { org_id: orgId, name: input.name });\n if (existing) {\n const row = await this.#db.updateAtomic<ModelPackDbRow>(\n 'model_packs',\n { org_id: orgId, id: existing.id },\n () => ({\n build_model_id: input.models.build,\n plan_model_id: input.models.plan,\n fast_model_id: input.models.fast,\n updated_at: now,\n }),\n );\n await this.#db.updateMany(\n 'active_model_packs',\n { org_id: orgId, pack_id: `custom:${existing.id}` },\n {\n build_model_id: input.models.build,\n plan_model_id: input.models.plan,\n fast_model_id: input.models.fast,\n updated_at: now,\n },\n );\n return toModelPack(row ?? existing);\n }\n const row = await this.#db.insertOne<ModelPackDbRow>('model_packs', {\n org_id: orgId,\n created_by: userId,\n name: input.name,\n build_model_id: input.models.build,\n plan_model_id: input.models.plan,\n fast_model_id: input.models.fast,\n created_at: now,\n updated_at: now,\n });\n return toModelPack(row);\n }\n\n async list({ orgId }: { orgId: string }): Promise<ModelPackRecord[]> {\n const rows = await this.#db.findMany<ModelPackDbRow>(\n 'model_packs',\n { org_id: orgId },\n { orderBy: [['name', 'asc']] },\n );\n return rows.map(toModelPack);\n }\n\n async get({ orgId, id }: { orgId: string; id: string }): Promise<ModelPackRecord | null> {\n const row = await this.#db.findOne<ModelPackDbRow>('model_packs', { org_id: orgId, id });\n return row ? toModelPack(row) : null;\n }\n\n async setActive({\n orgId,\n userId,\n packId,\n models,\n }: {\n orgId: string;\n userId: string;\n packId: string;\n models: ActiveModelPackRecord['models'];\n }): Promise<ActiveModelPackRecord> {\n const now = new Date();\n const values = {\n pack_id: packId,\n build_model_id: models.build,\n plan_model_id: models.plan,\n fast_model_id: models.fast,\n updated_at: now,\n };\n const updateExisting = () =>\n this.#db.updateAtomic<ActiveModelPackDbRow>(\n 'active_model_packs',\n { org_id: orgId, user_id: userId },\n () => values,\n );\n\n const updated = await updateExisting();\n if (updated) return toActiveModelPack(updated);\n\n try {\n return toActiveModelPack(\n await this.#db.insertOne<ActiveModelPackDbRow>('active_model_packs', {\n org_id: orgId,\n user_id: userId,\n ...values,\n }),\n );\n } catch (error) {\n if (!(error instanceof UniqueViolationError)) throw error;\n const row = await updateExisting();\n if (!row) throw error;\n return toActiveModelPack(row);\n }\n }\n\n async getActive({ orgId, userId }: { orgId: string; userId: string }): Promise<ActiveModelPackRecord | null> {\n const row = await this.#db.findOne<ActiveModelPackDbRow>('active_model_packs', {\n org_id: orgId,\n user_id: userId,\n });\n return row ? toActiveModelPack(row) : null;\n }\n\n async clearActive({ orgId, userId }: { orgId: string; userId: string }): Promise<boolean> {\n return (await this.#db.deleteMany('active_model_packs', { org_id: orgId, user_id: userId })) > 0;\n }\n\n async delete({ orgId, id }: { orgId: string; id: string }): Promise<boolean> {\n const deleted = (await this.#db.deleteMany('model_packs', { org_id: orgId, id })) > 0;\n if (deleted) {\n await this.#db.deleteMany('active_model_packs', { org_id: orgId, pack_id: `custom:${id}` });\n }\n return deleted;\n }\n}\n"],"mappings":"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"}
|