mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-07 21:25:38 -05:00
feat(skills): added skills to agent block (#3149)
* feat(skills): added skills to agent block * improvement(skills): audit fixes, docs, icon, and UX polish * fix(skills): consolidate redundant permission checks in POST and DELETE * more friendly error for duplicate skills in the same workspace * fix(executor): loop sentinel-end wrongly queued (#3148) * fix(executor): loop sentinel-end wrongly queued * fix nested subflow error highlighting * fix(linear): align tool outputs, queries, and pagination with API (#3150) * fix(linear): align tool outputs, queries, and pagination with API * fix(linear): coerce first param to number, remove duplicate conditions, add null guard * fix(resolver): response format and evaluator metrics in deactivated branch (#3152) * fix(resolver): response format in deactivated branch * add evaluator metrics too * add child workflow id to the workflow block outputs * cleanup typing * feat(slack): add file attachment support to slack webhook trigger (#3151) * feat(slack): add file attachment support to slack webhook trigger * additional file handling * lint * ack comment * fix(skills): hide skill selection when disabled, remove dead code --------- Co-authored-by: Vikhyath Mondreti <vikhyathvikku@gmail.com>
This commit is contained in:
15
packages/db/migrations/0152_parallel_frog_thor.sql
Normal file
15
packages/db/migrations/0152_parallel_frog_thor.sql
Normal file
@@ -0,0 +1,15 @@
|
||||
CREATE TABLE "skill" (
|
||||
"id" text PRIMARY KEY NOT NULL,
|
||||
"workspace_id" text,
|
||||
"user_id" text,
|
||||
"name" text NOT NULL,
|
||||
"description" text NOT NULL,
|
||||
"content" text NOT NULL,
|
||||
"created_at" timestamp DEFAULT now() NOT NULL,
|
||||
"updated_at" timestamp DEFAULT now() NOT NULL
|
||||
);
|
||||
--> statement-breakpoint
|
||||
ALTER TABLE "skill" ADD CONSTRAINT "skill_workspace_id_workspace_id_fk" FOREIGN KEY ("workspace_id") REFERENCES "public"."workspace"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
||||
ALTER TABLE "skill" ADD CONSTRAINT "skill_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
|
||||
CREATE INDEX "skill_workspace_id_idx" ON "skill" USING btree ("workspace_id");--> statement-breakpoint
|
||||
CREATE UNIQUE INDEX "skill_workspace_name_unique" ON "skill" USING btree ("workspace_id","name");
|
||||
10619
packages/db/migrations/meta/0152_snapshot.json
Normal file
10619
packages/db/migrations/meta/0152_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1058,6 +1058,13 @@
|
||||
"when": 1770239332381,
|
||||
"tag": "0151_stale_screwball",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 152,
|
||||
"version": "7",
|
||||
"when": 1770336289511,
|
||||
"tag": "0152_parallel_frog_thor",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -743,6 +743,27 @@ export const customTools = pgTable(
|
||||
})
|
||||
)
|
||||
|
||||
export const skill = pgTable(
|
||||
'skill',
|
||||
{
|
||||
id: text('id').primaryKey(),
|
||||
workspaceId: text('workspace_id').references(() => workspace.id, { onDelete: 'cascade' }),
|
||||
userId: text('user_id').references(() => user.id, { onDelete: 'set null' }),
|
||||
name: text('name').notNull(),
|
||||
description: text('description').notNull(),
|
||||
content: text('content').notNull(),
|
||||
createdAt: timestamp('created_at').notNull().defaultNow(),
|
||||
updatedAt: timestamp('updated_at').notNull().defaultNow(),
|
||||
},
|
||||
(table) => ({
|
||||
workspaceIdIdx: index('skill_workspace_id_idx').on(table.workspaceId),
|
||||
workspaceNameUnique: uniqueIndex('skill_workspace_name_unique').on(
|
||||
table.workspaceId,
|
||||
table.name
|
||||
),
|
||||
})
|
||||
)
|
||||
|
||||
export const subscription = pgTable(
|
||||
'subscription',
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user