@mastra/factory 0.8.0-alpha.8 → 0.8.0
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/CHANGELOG.md +660 -0
- package/dist/factory.d.ts.map +1 -1
- package/dist/factory.js +42 -4
- package/dist/factory.js.map +1 -1
- package/dist/integrations/base.d.ts +8 -0
- package/dist/integrations/base.d.ts.map +1 -1
- package/dist/integrations/github/app-identity.d.ts +43 -0
- package/dist/integrations/github/app-identity.d.ts.map +1 -0
- package/dist/integrations/github/app-identity.js +62 -0
- package/dist/integrations/github/app-identity.js.map +1 -0
- package/dist/integrations/github/integration.d.ts +9 -0
- package/dist/integrations/github/integration.d.ts.map +1 -1
- package/dist/integrations/github/integration.js +9 -1
- package/dist/integrations/github/integration.js.map +1 -1
- package/dist/integrations/github/reconcile-worker.d.ts +5 -0
- package/dist/integrations/github/reconcile-worker.d.ts.map +1 -1
- package/dist/integrations/github/reconcile-worker.js +7 -0
- package/dist/integrations/github/reconcile-worker.js.map +1 -1
- package/dist/integrations/github/routes.d.ts.map +1 -1
- package/dist/integrations/github/routes.js +11 -6
- 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 +30 -8
- package/dist/integrations/github/rules.js.map +1 -1
- package/dist/integrations/github/sandbox.d.ts +39 -6
- package/dist/integrations/github/sandbox.d.ts.map +1 -1
- package/dist/integrations/github/sandbox.js +48 -14
- package/dist/integrations/github/sandbox.js.map +1 -1
- package/dist/integrations/github/webhook.d.ts +39 -0
- package/dist/integrations/github/webhook.d.ts.map +1 -1
- package/dist/integrations/github/webhook.js +74 -13
- package/dist/integrations/github/webhook.js.map +1 -1
- package/dist/integrations/linear/integration.d.ts.map +1 -1
- package/dist/integrations/linear/integration.js +1 -0
- package/dist/integrations/linear/integration.js.map +1 -1
- package/dist/integrations/linear/routes.d.ts +10 -0
- package/dist/integrations/linear/routes.d.ts.map +1 -1
- package/dist/integrations/linear/routes.js +35 -1
- package/dist/integrations/linear/routes.js.map +1 -1
- package/dist/integrations/linear/rules.d.ts.map +1 -1
- package/dist/integrations/linear/rules.js +2 -1
- package/dist/integrations/linear/rules.js.map +1 -1
- package/dist/integrations/platform/github/event-worker.d.ts +11 -0
- package/dist/integrations/platform/github/event-worker.d.ts.map +1 -1
- package/dist/integrations/platform/github/event-worker.js +64 -16
- package/dist/integrations/platform/github/event-worker.js.map +1 -1
- package/dist/integrations/platform/github/integration.d.ts +12 -0
- package/dist/integrations/platform/github/integration.d.ts.map +1 -1
- package/dist/integrations/platform/github/integration.js +47 -4
- package/dist/integrations/platform/github/integration.js.map +1 -1
- package/dist/integrations/platform/linear/integration.d.ts.map +1 -1
- package/dist/integrations/platform/linear/integration.js +1 -0
- package/dist/integrations/platform/linear/integration.js.map +1 -1
- package/dist/integrations/slack/slack.d.ts.map +1 -1
- package/dist/integrations/slack/slack.js +2 -1
- package/dist/integrations/slack/slack.js.map +1 -1
- package/dist/routes/config.d.ts +12 -6
- package/dist/routes/config.d.ts.map +1 -1
- package/dist/routes/config.js +97 -56
- package/dist/routes/config.js.map +1 -1
- package/dist/routes/fs.d.ts.map +1 -1
- package/dist/routes/fs.js +2 -0
- package/dist/routes/fs.js.map +1 -1
- package/dist/routes/intake.d.ts +15 -0
- package/dist/routes/intake.d.ts.map +1 -1
- package/dist/routes/intake.js +65 -2
- package/dist/routes/intake.js.map +1 -1
- package/dist/routes/knowledge.d.ts +152 -0
- package/dist/routes/knowledge.d.ts.map +1 -0
- package/dist/routes/knowledge.js +442 -0
- package/dist/routes/knowledge.js.map +1 -0
- package/dist/routes/projects.d.ts +9 -1
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +8 -0
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/surface.d.ts +6 -0
- package/dist/routes/surface.d.ts.map +1 -1
- package/dist/routes/surface.js +10 -0
- package/dist/routes/surface.js.map +1 -1
- package/dist/routes/work-items.d.ts.map +1 -1
- package/dist/routes/work-items.js +3 -1
- package/dist/routes/work-items.js.map +1 -1
- package/dist/rules/binding-context.d.ts.map +1 -1
- package/dist/rules/binding-context.js +4 -1
- package/dist/rules/binding-context.js.map +1 -1
- package/dist/rules/defaults.d.ts.map +1 -1
- package/dist/rules/defaults.js +87 -4
- package/dist/rules/defaults.js.map +1 -1
- package/dist/rules/dispatcher.d.ts +6 -0
- package/dist/rules/dispatcher.d.ts.map +1 -1
- package/dist/rules/dispatcher.js +118 -16
- package/dist/rules/dispatcher.js.map +1 -1
- package/dist/rules/processor.d.ts.map +1 -1
- package/dist/rules/processor.js +20 -7
- package/dist/rules/processor.js.map +1 -1
- package/dist/rules/resolve.d.ts +1 -0
- package/dist/rules/resolve.d.ts.map +1 -1
- package/dist/rules/resolve.js +3 -2
- package/dist/rules/resolve.js.map +1 -1
- package/dist/rules/start-coordinator.d.ts +2 -0
- package/dist/rules/start-coordinator.d.ts.map +1 -1
- package/dist/rules/start-coordinator.js +3 -1
- package/dist/rules/start-coordinator.js.map +1 -1
- package/dist/rules/terminal-cleanup.d.ts +23 -0
- package/dist/rules/terminal-cleanup.d.ts.map +1 -0
- package/dist/rules/terminal-cleanup.js +43 -0
- package/dist/rules/terminal-cleanup.js.map +1 -0
- package/dist/rules/tools.d.ts.map +1 -1
- package/dist/rules/tools.js +24 -2
- package/dist/rules/tools.js.map +1 -1
- package/dist/rules/transition-service.d.ts +3 -0
- package/dist/rules/transition-service.d.ts.map +1 -1
- package/dist/rules/transition-service.js +10 -6
- package/dist/rules/transition-service.js.map +1 -1
- package/dist/rules/types.d.ts +32 -3
- package/dist/rules/types.d.ts.map +1 -1
- package/dist/rules/types.js +2 -0
- package/dist/rules/types.js.map +1 -1
- package/dist/rules/validation.d.ts.map +1 -1
- package/dist/rules/validation.js +8 -3
- package/dist/rules/validation.js.map +1 -1
- package/dist/sandbox/base-checkpoint-triggers.d.ts +77 -0
- package/dist/sandbox/base-checkpoint-triggers.d.ts.map +1 -0
- package/dist/sandbox/base-checkpoint-triggers.js +137 -0
- package/dist/sandbox/base-checkpoint-triggers.js.map +1 -0
- package/dist/sandbox/base-checkpoint.d.ts +59 -0
- package/dist/sandbox/base-checkpoint.d.ts.map +1 -0
- package/dist/sandbox/base-checkpoint.js +145 -0
- package/dist/sandbox/base-checkpoint.js.map +1 -0
- package/dist/sandbox/fleet.d.ts +32 -0
- package/dist/sandbox/fleet.d.ts.map +1 -1
- package/dist/sandbox/fleet.js +39 -10
- package/dist/sandbox/fleet.js.map +1 -1
- package/dist/session/checkpoint-capture.d.ts +3 -2
- package/dist/session/checkpoint-capture.d.ts.map +1 -1
- package/dist/session/checkpoint-capture.js +3 -3
- package/dist/session/checkpoint-capture.js.map +1 -1
- package/dist/session/factory-session.d.ts.map +1 -1
- package/dist/session/factory-session.js +2 -1
- package/dist/session/factory-session.js.map +1 -1
- package/dist/session/filesystem-capture.d.ts +7 -0
- package/dist/session/filesystem-capture.d.ts.map +1 -1
- package/dist/session/filesystem-capture.js +41 -4
- package/dist/session/filesystem-capture.js.map +1 -1
- package/dist/session/model-pack-hydration.d.ts +55 -0
- package/dist/session/model-pack-hydration.d.ts.map +1 -0
- package/dist/session/model-pack-hydration.js +56 -0
- package/dist/session/model-pack-hydration.js.map +1 -0
- package/dist/skills/service.d.ts +9 -0
- package/dist/skills/service.d.ts.map +1 -1
- package/dist/skills/service.js +10 -1
- package/dist/skills/service.js.map +1 -1
- package/dist/storage/domains/intake/base.d.ts +36 -0
- package/dist/storage/domains/intake/base.d.ts.map +1 -1
- package/dist/storage/domains/intake/base.js +91 -2
- package/dist/storage/domains/intake/base.js.map +1 -1
- package/dist/storage/domains/model-packs/base.d.ts +26 -0
- package/dist/storage/domains/model-packs/base.d.ts.map +1 -1
- package/dist/storage/domains/model-packs/base.js +102 -13
- package/dist/storage/domains/model-packs/base.js.map +1 -1
- package/dist/storage/domains/source-control/base.d.ts +47 -1
- package/dist/storage/domains/source-control/base.d.ts.map +1 -1
- package/dist/storage/domains/source-control/base.js +78 -19
- package/dist/storage/domains/source-control/base.js.map +1 -1
- package/dist/storage/domains/source-control/inmemory.d.ts +11 -3
- package/dist/storage/domains/source-control/inmemory.d.ts.map +1 -1
- package/dist/storage/domains/source-control/inmemory.js +10 -1
- package/dist/storage/domains/source-control/inmemory.js.map +1 -1
- package/dist/storage/domains/work-items/base.d.ts +67 -1
- package/dist/storage/domains/work-items/base.d.ts.map +1 -1
- package/dist/storage/domains/work-items/base.js +183 -12
- package/dist/storage/domains/work-items/base.js.map +1 -1
- package/dist/workspace.d.ts +31 -2
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +225 -54
- package/dist/workspace.js.map +1 -1
- package/factory-skills/factory-plan/SKILL.md +1 -1
- package/factory-skills/factory-rereview/SKILL.md +3 -3
- package/factory-skills/factory-review/SKILL.md +3 -3
- package/factory-skills/factory-triage/SKILL.md +2 -0
- package/package.json +8 -8
|
@@ -22,7 +22,19 @@ export interface UpsertModelPackInput {
|
|
|
22
22
|
fast: string;
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
+
export interface ActiveModelPackRecord {
|
|
26
|
+
orgId: string;
|
|
27
|
+
userId: string;
|
|
28
|
+
packId: string;
|
|
29
|
+
models: {
|
|
30
|
+
build: string;
|
|
31
|
+
plan: string;
|
|
32
|
+
fast: string;
|
|
33
|
+
};
|
|
34
|
+
updatedAt: Date;
|
|
35
|
+
}
|
|
25
36
|
export declare const MODEL_PACKS_SCHEMA: CollectionSchema;
|
|
37
|
+
export declare const ACTIVE_MODEL_PACKS_SCHEMA: CollectionSchema;
|
|
26
38
|
export declare class ModelPacksStorage extends FactoryStorageDomain {
|
|
27
39
|
#private;
|
|
28
40
|
constructor();
|
|
@@ -41,6 +53,20 @@ export declare class ModelPacksStorage extends FactoryStorageDomain {
|
|
|
41
53
|
orgId: string;
|
|
42
54
|
id: string;
|
|
43
55
|
}): Promise<ModelPackRecord | null>;
|
|
56
|
+
setActive({ orgId, userId, packId, models, }: {
|
|
57
|
+
orgId: string;
|
|
58
|
+
userId: string;
|
|
59
|
+
packId: string;
|
|
60
|
+
models: ActiveModelPackRecord['models'];
|
|
61
|
+
}): Promise<ActiveModelPackRecord>;
|
|
62
|
+
getActive({ orgId, userId }: {
|
|
63
|
+
orgId: string;
|
|
64
|
+
userId: string;
|
|
65
|
+
}): Promise<ActiveModelPackRecord | null>;
|
|
66
|
+
clearActive({ orgId, userId }: {
|
|
67
|
+
orgId: string;
|
|
68
|
+
userId: string;
|
|
69
|
+
}): Promise<boolean>;
|
|
44
70
|
delete({ orgId, id }: {
|
|
45
71
|
orgId: string;
|
|
46
72
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/model-packs/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/model-packs/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,sBAAsB,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,sBAAsB,CAAC;AAEhF,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,eAAO,MAAM,kBAAkB,EAAE,gBAchC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,gBAavC,CAAC;AA+CF,qBAAa,iBAAkB,SAAQ,oBAAoB;;;IAKnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAS1C,gGAAgG;IAC1F,MAAM,CAAC,EACX,KAAK,EACL,MAAM,EACN,KAAK,GACN,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,oBAAoB,CAAC;KAC7B,GAAG,OAAO,CAAC,eAAe,CAAC;IAuCtB,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAS9D,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAKlF,SAAS,CAAC,EACd,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,GACP,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC;KACzC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAmC5B,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAQtG,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAInF,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAO7E"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FactoryStorageDomain } from "@mastra/core/storage";
|
|
1
|
+
import { FactoryStorageDomain, UniqueViolationError } from "@mastra/core/storage";
|
|
2
2
|
//#region src/storage/domains/model-packs/base.ts
|
|
3
3
|
const MODEL_PACKS_SCHEMA = {
|
|
4
4
|
name: "model_packs",
|
|
@@ -18,6 +18,23 @@ const MODEL_PACKS_SCHEMA = {
|
|
|
18
18
|
columns: ["org_id", "name"]
|
|
19
19
|
}]
|
|
20
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
|
+
};
|
|
21
38
|
function toModelPack(row) {
|
|
22
39
|
return {
|
|
23
40
|
id: row.id,
|
|
@@ -33,14 +50,28 @@ function toModelPack(row) {
|
|
|
33
50
|
updatedAt: row.updated_at
|
|
34
51
|
};
|
|
35
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
|
+
}
|
|
36
66
|
var ModelPacksStorage = class extends FactoryStorageDomain {
|
|
37
67
|
constructor() {
|
|
38
68
|
super("model-packs");
|
|
39
69
|
}
|
|
40
70
|
async init() {
|
|
41
|
-
await this.ensureCollections([MODEL_PACKS_SCHEMA]);
|
|
71
|
+
await this.ensureCollections([MODEL_PACKS_SCHEMA, ACTIVE_MODEL_PACKS_SCHEMA]);
|
|
42
72
|
}
|
|
43
73
|
async dangerouslyClearAll() {
|
|
74
|
+
await this.ops.deleteMany("active_model_packs", {});
|
|
44
75
|
await this.ops.deleteMany("model_packs", {});
|
|
45
76
|
}
|
|
46
77
|
get #db() {
|
|
@@ -53,15 +84,27 @@ var ModelPacksStorage = class extends FactoryStorageDomain {
|
|
|
53
84
|
org_id: orgId,
|
|
54
85
|
name: input.name
|
|
55
86
|
});
|
|
56
|
-
if (existing)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
+
}
|
|
65
108
|
return toModelPack(await this.#db.insertOne("model_packs", {
|
|
66
109
|
org_id: orgId,
|
|
67
110
|
created_by: userId,
|
|
@@ -83,14 +126,60 @@ var ModelPacksStorage = class extends FactoryStorageDomain {
|
|
|
83
126
|
});
|
|
84
127
|
return row ? toModelPack(row) : null;
|
|
85
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
|
+
}
|
|
86
170
|
async delete({ orgId, id }) {
|
|
87
|
-
|
|
171
|
+
const deleted = await this.#db.deleteMany("model_packs", {
|
|
88
172
|
org_id: orgId,
|
|
89
173
|
id
|
|
90
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;
|
|
91
180
|
}
|
|
92
181
|
};
|
|
93
182
|
//#endregion
|
|
94
|
-
export { MODEL_PACKS_SCHEMA, ModelPacksStorage };
|
|
183
|
+
export { ACTIVE_MODEL_PACKS_SCHEMA, MODEL_PACKS_SCHEMA, ModelPacksStorage };
|
|
95
184
|
|
|
96
185
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","names":["#db"],"sources":["../../../../src/storage/domains/model-packs/base.ts"],"sourcesContent":["import { FactoryStorageDomain } 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 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\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\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\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]);\n }\n\n async dangerouslyClearAll(): Promise<void> {\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 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 delete({ orgId, id }: { orgId: string; id: string }): Promise<boolean> {\n return (await this.#db.deleteMany('model_packs', { org_id: orgId, id })) > 0;\n }\n}\n"],"mappings":";;AAmBA,MAAa,qBAAuC;CAClD,MAAM;CACN,SAAS;EACP,IAAI,EAAE,MAAM,UAAU;EACtB,QAAQ,EAAE,MAAM,OAAO;EACvB,YAAY,EAAE,MAAM,OAAO;EAC3B,MAAM,EAAE,MAAM,OAAO;EACrB,gBAAgB,EAAE,MAAM,OAAO;EAC/B,eAAe,EAAE,MAAM,OAAO;EAC9B,eAAe,EAAE,MAAM,OAAO;EAC9B,YAAY,EAAE,MAAM,YAAY;EAChC,YAAY,EAAE,MAAM,YAAY;CAClC;CACA,SAAS,CAAC;EAAE,MAAM;EAA4B,SAAS,CAAC,UAAU,MAAM;CAAE,CAAC;AAC7E;AAcA,SAAS,YAAY,KAAsC;CACzD,OAAO;EACL,IAAI,IAAI;EACR,OAAO,IAAI;EACX,WAAW,IAAI;EACf,MAAM,IAAI;EACV,QAAQ;GAAE,OAAO,IAAI;GAAgB,MAAM,IAAI;GAAe,MAAM,IAAI;EAAc;EACtF,WAAW,IAAI;EACf,WAAW,IAAI;CACjB;AACF;AAEA,IAAa,oBAAb,cAAuC,qBAAqB;CAC1D,cAAc;EACZ,MAAM,aAAa;CACrB;CAEA,MAAM,OAAsB;EAC1B,MAAM,KAAK,kBAAkB,CAAC,kBAAkB,CAAC;CACnD;CAEA,MAAM,sBAAqC;EACzC,MAAM,KAAK,IAAI,WAAW,eAAe,CAAC,CAAC;CAC7C;CAEA,IAAIA,MAAyB;EAC3B,OAAO,KAAK;CACd;;CAGA,MAAM,OAAO,EACX,OACA,QACA,SAK2B;EAC3B,MAAM,sBAAM,IAAI,KAAK;EACrB,MAAM,WAAW,MAAM,KAAKA,IAAI,QAAwB,eAAe;GAAE,QAAQ;GAAO,MAAM,MAAM;EAAK,CAAC;EAC1G,IAAI,UAWF,OAAO,YAAY,MAVD,KAAKA,IAAI,aACzB,eACA;GAAE,QAAQ;GAAO,IAAI,SAAS;EAAG,UAC1B;GACL,gBAAgB,MAAM,OAAO;GAC7B,eAAe,MAAM,OAAO;GAC5B,eAAe,MAAM,OAAO;GAC5B,YAAY;EACd,EACF,KAC0B,QAAQ;EAYpC,OAAO,YAAY,MAVD,KAAKA,IAAI,UAA0B,eAAe;GAClE,QAAQ;GACR,YAAY;GACZ,MAAM,MAAM;GACZ,gBAAgB,MAAM,OAAO;GAC7B,eAAe,MAAM,OAAO;GAC5B,eAAe,MAAM,OAAO;GAC5B,YAAY;GACZ,YAAY;EACd,CAAC,CACqB;CACxB;CAEA,MAAM,KAAK,EAAE,SAAwD;EAMnE,QAAO,MALY,KAAKA,IAAI,SAC1B,eACA,EAAE,QAAQ,MAAM,GAChB,EAAE,SAAS,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAE,CAC/B,EAAA,CACY,IAAI,WAAW;CAC7B;CAEA,MAAM,IAAI,EAAE,OAAO,MAAsE;EACvF,MAAM,MAAM,MAAM,KAAKA,IAAI,QAAwB,eAAe;GAAE,QAAQ;GAAO;EAAG,CAAC;EACvF,OAAO,MAAM,YAAY,GAAG,IAAI;CAClC;CAEA,MAAM,OAAO,EAAE,OAAO,MAAuD;EAC3E,OAAQ,MAAM,KAAKA,IAAI,WAAW,eAAe;GAAE,QAAQ;GAAO;EAAG,CAAC,IAAK;CAC7E;AACF"}
|
|
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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"}
|
|
@@ -61,10 +61,25 @@ export interface ProjectRepository {
|
|
|
61
61
|
sandboxProvider: string;
|
|
62
62
|
sandboxWorkdir: string;
|
|
63
63
|
setupCommand: string | null;
|
|
64
|
+
/** Base checkpoint metadata — set by the base-checkpoint build job. */
|
|
65
|
+
baseCheckpoint: ProjectRepositoryBaseCheckpoint | null;
|
|
64
66
|
teardownCommand: string | null;
|
|
65
67
|
createdAt: Date;
|
|
66
68
|
updatedAt: Date;
|
|
67
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Metadata for a repo's warm base checkpoint (cloned default branch + setup
|
|
72
|
+
* command already run). New sessions boot from it instead of a cold clone.
|
|
73
|
+
*/
|
|
74
|
+
export interface ProjectRepositoryBaseCheckpoint {
|
|
75
|
+
/** Provider checkpoint name, e.g. `repo-<projectRepositoryId>`. */
|
|
76
|
+
name: string;
|
|
77
|
+
/** Default-branch HEAD sha the checkpoint was built at. */
|
|
78
|
+
sha: string;
|
|
79
|
+
builtAt: Date;
|
|
80
|
+
/** Hash of the setup command at build time (null when no setup command) — mismatch invalidates the checkpoint. */
|
|
81
|
+
setupCommandHash: string | null;
|
|
82
|
+
}
|
|
68
83
|
export interface ExternalRepositoryProjectTarget {
|
|
69
84
|
orgId: string;
|
|
70
85
|
factoryProjectId: string;
|
|
@@ -143,6 +158,12 @@ export interface UpsertSourceControlWorktreeInput {
|
|
|
143
158
|
baseBranch: string;
|
|
144
159
|
worktreePath: string;
|
|
145
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Who can open a session: 'org' sessions are visible to every member of the
|
|
163
|
+
* owning organization, 'private' sessions only to their owner. Stored at
|
|
164
|
+
* creation; rows created before the column existed read as 'org'.
|
|
165
|
+
*/
|
|
166
|
+
export type SourceControlSessionVisibility = 'org' | 'private';
|
|
146
167
|
export interface SourceControlSession {
|
|
147
168
|
id: string;
|
|
148
169
|
sessionId: string;
|
|
@@ -151,6 +172,7 @@ export interface SourceControlSession {
|
|
|
151
172
|
userId: string;
|
|
152
173
|
branch: string;
|
|
153
174
|
title: string | null;
|
|
175
|
+
visibility: SourceControlSessionVisibility;
|
|
154
176
|
baseBranch: string;
|
|
155
177
|
sandboxId: string | null;
|
|
156
178
|
sandboxWorkdir: string | null;
|
|
@@ -169,6 +191,8 @@ export interface CreateSourceControlSessionInput {
|
|
|
169
191
|
userId: string;
|
|
170
192
|
branch: string;
|
|
171
193
|
title?: string | null;
|
|
194
|
+
/** Defaults to 'org' when omitted, matching how NULL rows are read. */
|
|
195
|
+
visibility?: SourceControlSessionVisibility;
|
|
172
196
|
baseBranch: string;
|
|
173
197
|
}
|
|
174
198
|
export interface SourceControlStorageHandle {
|
|
@@ -264,6 +288,19 @@ export interface SourceControlStorageHandle {
|
|
|
264
288
|
id: string;
|
|
265
289
|
input: UpdateProjectRepositoryInput;
|
|
266
290
|
}): Promise<ProjectRepository | null>;
|
|
291
|
+
/**
|
|
292
|
+
* Record (or clear, with `checkpoint: null`) the repo's base-checkpoint
|
|
293
|
+
* metadata after a build job snapshots the prepared workdir. Writes from a
|
|
294
|
+
* build are ignored when the setup command changed while it was running.
|
|
295
|
+
*/
|
|
296
|
+
setBaseCheckpoint(args: {
|
|
297
|
+
id: string;
|
|
298
|
+
checkpoint: null;
|
|
299
|
+
} | {
|
|
300
|
+
id: string;
|
|
301
|
+
checkpoint: ProjectRepositoryBaseCheckpoint;
|
|
302
|
+
expectedSetupCommand: string | null;
|
|
303
|
+
}): Promise<void>;
|
|
267
304
|
unlink(args: {
|
|
268
305
|
orgId: string;
|
|
269
306
|
id: string;
|
|
@@ -336,10 +373,19 @@ export interface SourceControlStorageHandle {
|
|
|
336
373
|
}): Promise<void>;
|
|
337
374
|
};
|
|
338
375
|
readonly sessions: {
|
|
376
|
+
/**
|
|
377
|
+
* Viewer-aware listing: every org-visible session for the repository
|
|
378
|
+
* (regardless of owner) plus the viewer's own private sessions.
|
|
379
|
+
*/
|
|
339
380
|
list(args: {
|
|
340
381
|
projectRepositoryId: string;
|
|
341
|
-
|
|
382
|
+
viewerUserId: string;
|
|
342
383
|
}): Promise<SourceControlSession[]>;
|
|
384
|
+
/**
|
|
385
|
+
* System-level listing of every session for the repository regardless of
|
|
386
|
+
* visibility. For internal flows only (session retirement, repository
|
|
387
|
+
* teardown); never expose directly to a viewer.
|
|
388
|
+
*/
|
|
343
389
|
listByProjectRepository(args: {
|
|
344
390
|
projectRepositoryId: string;
|
|
345
391
|
}): Promise<SourceControlSession[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/source-control/base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/storage/domains/source-control/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -102,6 +102,22 @@ const SOURCE_CONTROL_SCHEMAS = [
|
|
|
102
102
|
type: "text",
|
|
103
103
|
nullable: true
|
|
104
104
|
},
|
|
105
|
+
base_checkpoint_name: {
|
|
106
|
+
type: "text",
|
|
107
|
+
nullable: true
|
|
108
|
+
},
|
|
109
|
+
base_checkpoint_sha: {
|
|
110
|
+
type: "text",
|
|
111
|
+
nullable: true
|
|
112
|
+
},
|
|
113
|
+
base_checkpoint_built_at: {
|
|
114
|
+
type: "timestamp",
|
|
115
|
+
nullable: true
|
|
116
|
+
},
|
|
117
|
+
base_checkpoint_setup_hash: {
|
|
118
|
+
type: "text",
|
|
119
|
+
nullable: true
|
|
120
|
+
},
|
|
105
121
|
teardown_command: {
|
|
106
122
|
type: "text",
|
|
107
123
|
nullable: true
|
|
@@ -194,6 +210,10 @@ const SOURCE_CONTROL_SCHEMAS = [
|
|
|
194
210
|
type: "text",
|
|
195
211
|
nullable: true
|
|
196
212
|
},
|
|
213
|
+
visibility: {
|
|
214
|
+
type: "text",
|
|
215
|
+
nullable: true
|
|
216
|
+
},
|
|
197
217
|
sandbox_id: {
|
|
198
218
|
type: "text",
|
|
199
219
|
nullable: true
|
|
@@ -275,6 +295,12 @@ function toProjectRepository(row) {
|
|
|
275
295
|
sandboxProvider: row.sandbox_provider,
|
|
276
296
|
sandboxWorkdir: row.sandbox_workdir,
|
|
277
297
|
setupCommand: row.setup_command,
|
|
298
|
+
baseCheckpoint: row.base_checkpoint_name && row.base_checkpoint_sha && row.base_checkpoint_built_at ? {
|
|
299
|
+
name: row.base_checkpoint_name,
|
|
300
|
+
sha: row.base_checkpoint_sha,
|
|
301
|
+
builtAt: row.base_checkpoint_built_at,
|
|
302
|
+
setupCommandHash: row.base_checkpoint_setup_hash ?? null
|
|
303
|
+
} : null,
|
|
278
304
|
teardownCommand: row.teardown_command,
|
|
279
305
|
createdAt: row.created_at,
|
|
280
306
|
updatedAt: row.updated_at
|
|
@@ -322,6 +348,7 @@ function toSession(row) {
|
|
|
322
348
|
userId: row.user_id,
|
|
323
349
|
branch: row.branch,
|
|
324
350
|
title: row.title,
|
|
351
|
+
visibility: row.visibility === "private" ? "private" : "org",
|
|
325
352
|
baseBranch: row.base_branch,
|
|
326
353
|
sandboxId: row.sandbox_id,
|
|
327
354
|
sandboxWorkdir: row.sandbox_workdir,
|
|
@@ -684,29 +711,46 @@ var SourceControlStorage = class extends FactoryStorageDomain {
|
|
|
684
711
|
id: input.repositoryId
|
|
685
712
|
})).installationId !== connection.installationId) throw new Error("Repository does not belong to the connection installation.");
|
|
686
713
|
const now = /* @__PURE__ */ new Date();
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
714
|
+
try {
|
|
715
|
+
return toProjectRepository(await db().insertOne(PROJECT_REPOSITORIES, {
|
|
716
|
+
connection_id: input.connectionId,
|
|
717
|
+
repository_id: input.repositoryId,
|
|
718
|
+
created_by_user_id: input.createdByUserId,
|
|
719
|
+
branch: input.branch ?? null,
|
|
720
|
+
sandbox_provider: input.sandboxProvider,
|
|
721
|
+
sandbox_workdir: input.sandboxWorkdir,
|
|
722
|
+
setup_command: input.setupCommand ?? null,
|
|
723
|
+
teardown_command: input.teardownCommand ?? null,
|
|
724
|
+
created_at: now,
|
|
725
|
+
updated_at: now
|
|
726
|
+
}));
|
|
727
|
+
} catch (error) {
|
|
728
|
+
if (!(error instanceof UniqueViolationError)) throw error;
|
|
729
|
+
const row = await db().findOne(PROJECT_REPOSITORIES, {
|
|
730
|
+
connection_id: input.connectionId,
|
|
731
|
+
repository_id: input.repositoryId
|
|
732
|
+
});
|
|
733
|
+
if (!row) throw error;
|
|
734
|
+
return toProjectRepository(row);
|
|
735
|
+
}
|
|
699
736
|
},
|
|
700
737
|
update: async ({ orgId, id, input }) => {
|
|
701
|
-
|
|
738
|
+
const existing = await getProjectRepository({
|
|
702
739
|
orgId,
|
|
703
740
|
id
|
|
704
|
-
})
|
|
741
|
+
});
|
|
742
|
+
if (!existing) return null;
|
|
705
743
|
const patch = { updated_at: /* @__PURE__ */ new Date() };
|
|
706
744
|
if (input.branch !== void 0) patch.branch = input.branch;
|
|
707
745
|
if (input.sandboxProvider !== void 0) patch.sandbox_provider = input.sandboxProvider;
|
|
708
746
|
if (input.sandboxWorkdir !== void 0) patch.sandbox_workdir = input.sandboxWorkdir;
|
|
709
747
|
if (input.setupCommand !== void 0) patch.setup_command = input.setupCommand;
|
|
748
|
+
if (input.setupCommand !== void 0 && input.setupCommand !== existing.setupCommand) {
|
|
749
|
+
patch.base_checkpoint_name = null;
|
|
750
|
+
patch.base_checkpoint_sha = null;
|
|
751
|
+
patch.base_checkpoint_built_at = null;
|
|
752
|
+
patch.base_checkpoint_setup_hash = null;
|
|
753
|
+
}
|
|
710
754
|
if (input.teardownCommand !== void 0) patch.teardown_command = input.teardownCommand;
|
|
711
755
|
await db().updateMany(PROJECT_REPOSITORIES, { id }, patch);
|
|
712
756
|
return getProjectRepository({
|
|
@@ -714,6 +758,23 @@ var SourceControlStorage = class extends FactoryStorageDomain {
|
|
|
714
758
|
id
|
|
715
759
|
});
|
|
716
760
|
},
|
|
761
|
+
setBaseCheckpoint: async (args) => {
|
|
762
|
+
await requireProjectRepositoryById(args.id);
|
|
763
|
+
await db().updateMany(PROJECT_REPOSITORIES, args.checkpoint ? {
|
|
764
|
+
id: args.id,
|
|
765
|
+
setup_command: args.expectedSetupCommand
|
|
766
|
+
} : { id: args.id }, args.checkpoint ? {
|
|
767
|
+
base_checkpoint_name: args.checkpoint.name,
|
|
768
|
+
base_checkpoint_sha: args.checkpoint.sha,
|
|
769
|
+
base_checkpoint_built_at: args.checkpoint.builtAt,
|
|
770
|
+
base_checkpoint_setup_hash: args.checkpoint.setupCommandHash
|
|
771
|
+
} : {
|
|
772
|
+
base_checkpoint_name: null,
|
|
773
|
+
base_checkpoint_sha: null,
|
|
774
|
+
base_checkpoint_built_at: null,
|
|
775
|
+
base_checkpoint_setup_hash: null
|
|
776
|
+
});
|
|
777
|
+
},
|
|
717
778
|
unlink: async ({ orgId, id }) => {
|
|
718
779
|
if (!await getProjectRepository({
|
|
719
780
|
orgId,
|
|
@@ -850,12 +911,9 @@ var SourceControlStorage = class extends FactoryStorageDomain {
|
|
|
850
911
|
}
|
|
851
912
|
},
|
|
852
913
|
sessions: {
|
|
853
|
-
list: async ({ projectRepositoryId,
|
|
914
|
+
list: async ({ projectRepositoryId, viewerUserId }) => {
|
|
854
915
|
if (!await getProjectRepositoryById(projectRepositoryId)) return [];
|
|
855
|
-
return (await db().findMany(SESSIONS, {
|
|
856
|
-
project_repository_id: projectRepositoryId,
|
|
857
|
-
user_id: userId
|
|
858
|
-
})).map(toSession);
|
|
916
|
+
return (await db().findMany(SESSIONS, { project_repository_id: projectRepositoryId })).filter((row) => row.visibility !== "private" || row.user_id === viewerUserId).map(toSession);
|
|
859
917
|
},
|
|
860
918
|
listByProjectRepository: async ({ projectRepositoryId }) => {
|
|
861
919
|
if (!await getProjectRepositoryById(projectRepositoryId)) return [];
|
|
@@ -891,6 +949,7 @@ var SourceControlStorage = class extends FactoryStorageDomain {
|
|
|
891
949
|
user_id: input.userId,
|
|
892
950
|
branch: input.branch,
|
|
893
951
|
title: input.title ?? null,
|
|
952
|
+
visibility: input.visibility ?? "org",
|
|
894
953
|
base_branch: input.baseBranch,
|
|
895
954
|
sandbox_id: null,
|
|
896
955
|
sandbox_workdir: null,
|