@knowsuchagency/fulcrum 1.8.2 → 1.9.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/README.md +27 -46
- package/bin/fulcrum.js +2 -2
- package/dist/assets/{index-CAuv6E6D.js → index-DAgdpYcQ.js} +115 -115
- package/dist/index.html +1 -1
- package/drizzle/0037_project_agent_config.sql +4 -0
- package/drizzle/meta/_journal.json +7 -0
- package/package.json +1 -1
- package/server/index.js +28 -0
package/dist/index.html
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<link rel="icon" type="image/png" href="/logo.png" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Fulcrum</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-DAgdpYcQ.js"></script>
|
|
9
9
|
<link rel="stylesheet" crossorigin href="/assets/index-CZgztbA5.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
ALTER TABLE `projects` ADD `default_agent` text;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE `projects` ADD `claude_options` text;--> statement-breakpoint
|
|
3
|
+
ALTER TABLE `projects` ADD `opencode_options` text;--> statement-breakpoint
|
|
4
|
+
ALTER TABLE `projects` ADD `opencode_model` text;
|
|
@@ -260,6 +260,13 @@
|
|
|
260
260
|
"when": 1769252000000,
|
|
261
261
|
"tag": "0036_unique_repository_per_project",
|
|
262
262
|
"breakpoints": true
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"idx": 37,
|
|
266
|
+
"version": "6",
|
|
267
|
+
"when": 1769338400000,
|
|
268
|
+
"tag": "0037_project_agent_config",
|
|
269
|
+
"breakpoints": true
|
|
263
270
|
}
|
|
264
271
|
]
|
|
265
272
|
}
|
package/package.json
CHANGED
package/server/index.js
CHANGED
|
@@ -4547,6 +4547,10 @@ var init_schema = __esm(() => {
|
|
|
4547
4547
|
appId: text("app_id").unique(),
|
|
4548
4548
|
terminalTabId: text("terminal_tab_id").unique(),
|
|
4549
4549
|
status: text("status").notNull().default("active"),
|
|
4550
|
+
defaultAgent: text("default_agent"),
|
|
4551
|
+
claudeOptions: text("claude_options"),
|
|
4552
|
+
opencodeOptions: text("opencode_options"),
|
|
4553
|
+
opencodeModel: text("opencode_model"),
|
|
4550
4554
|
lastAccessedAt: text("last_accessed_at"),
|
|
4551
4555
|
createdAt: text("created_at").notNull(),
|
|
4552
4556
|
updatedAt: text("updated_at").notNull()
|
|
@@ -5605,6 +5609,16 @@ function runMigrations(sqlite, drizzleDb) {
|
|
|
5605
5609
|
if (hasSelectedRepositoryIdsColumn && !hasSelectedProjectIdsColumn2) {
|
|
5606
5610
|
shouldMark = true;
|
|
5607
5611
|
}
|
|
5612
|
+
} else if (entry.tag.startsWith("0036")) {
|
|
5613
|
+
const hasProjectRepositoriesTable = sqlite.query("SELECT name FROM sqlite_master WHERE type='table' AND name='project_repositories'").get();
|
|
5614
|
+
if (hasProjectRepositoriesTable) {
|
|
5615
|
+
shouldMark = true;
|
|
5616
|
+
}
|
|
5617
|
+
} else if (entry.tag.startsWith("0037")) {
|
|
5618
|
+
const hasProjectDefaultAgentColumn = sqlite.query("SELECT name FROM pragma_table_info('projects') WHERE name='default_agent'").get();
|
|
5619
|
+
if (hasProjectDefaultAgentColumn) {
|
|
5620
|
+
shouldMark = true;
|
|
5621
|
+
}
|
|
5608
5622
|
}
|
|
5609
5623
|
if (shouldMark) {
|
|
5610
5624
|
migrationsToMark.push(entry);
|
|
@@ -60225,6 +60239,10 @@ function buildProjectWithDetails(project, repo, appRow, services, tab) {
|
|
|
60225
60239
|
appId: project.appId,
|
|
60226
60240
|
terminalTabId: project.terminalTabId,
|
|
60227
60241
|
status: project.status,
|
|
60242
|
+
defaultAgent: project.defaultAgent,
|
|
60243
|
+
claudeOptions: project.claudeOptions ? JSON.parse(project.claudeOptions) : null,
|
|
60244
|
+
opencodeOptions: project.opencodeOptions ? JSON.parse(project.opencodeOptions) : null,
|
|
60245
|
+
opencodeModel: project.opencodeModel ?? null,
|
|
60228
60246
|
lastAccessedAt: project.lastAccessedAt,
|
|
60229
60247
|
createdAt: project.createdAt,
|
|
60230
60248
|
updatedAt: project.updatedAt,
|
|
@@ -60514,6 +60532,16 @@ app19.patch("/:id", async (c) => {
|
|
|
60514
60532
|
updateData.notes = body.notes;
|
|
60515
60533
|
if (body.status !== undefined)
|
|
60516
60534
|
updateData.status = body.status;
|
|
60535
|
+
if (body.defaultAgent !== undefined)
|
|
60536
|
+
updateData.defaultAgent = body.defaultAgent;
|
|
60537
|
+
if (body.claudeOptions !== undefined) {
|
|
60538
|
+
updateData.claudeOptions = body.claudeOptions ? JSON.stringify(body.claudeOptions) : null;
|
|
60539
|
+
}
|
|
60540
|
+
if (body.opencodeOptions !== undefined) {
|
|
60541
|
+
updateData.opencodeOptions = body.opencodeOptions ? JSON.stringify(body.opencodeOptions) : null;
|
|
60542
|
+
}
|
|
60543
|
+
if (body.opencodeModel !== undefined)
|
|
60544
|
+
updateData.opencodeModel = body.opencodeModel;
|
|
60517
60545
|
db2.update(projects).set(updateData).where(eq(projects.id, id)).run();
|
|
60518
60546
|
const project = db2.select().from(projects).where(eq(projects.id, id)).get();
|
|
60519
60547
|
const repo = project.repositoryId ? db2.select().from(repositories).where(eq(repositories.id, project.repositoryId)).get() : null;
|