mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-06 05:51:15 +08:00
feat: add Skill Workshop revision request
This commit is contained in:
@@ -122,6 +122,34 @@ describe("lazy protocol validators", () => {
|
||||
expect(validateChatMetadataParams({ agentId: "work", view: "configured" })).toBe(false);
|
||||
});
|
||||
|
||||
it("validates Skill Workshop revision request params", () => {
|
||||
expect(
|
||||
protocol.validateSkillsProposalRequestRevisionParams({
|
||||
proposalId: "support-file-sampler-20260531-68207b7b7f",
|
||||
instructions: "Make the support files 5",
|
||||
sessionKey: "agent:main:session:skill-workshop",
|
||||
idempotencyKey: "revision-run-1",
|
||||
}),
|
||||
).toBe(true);
|
||||
expect(
|
||||
protocol.validateSkillsProposalRequestRevisionParams({
|
||||
proposalId: "support-file-sampler-20260531-68207b7b7f",
|
||||
instructions: "",
|
||||
sessionKey: "agent:main:session:skill-workshop",
|
||||
idempotencyKey: "revision-run-1",
|
||||
}),
|
||||
).toBe(false);
|
||||
expect(
|
||||
protocol.validateSkillsProposalRequestRevisionParams({
|
||||
proposalId: "support-file-sampler-20260531-68207b7b7f",
|
||||
instructions: "Make the support files 5",
|
||||
sessionKey: "agent:main:session:skill-workshop",
|
||||
idempotencyKey: "revision-run-1",
|
||||
hiddenPrompt: "do not accept caller-provided hidden prompts",
|
||||
}),
|
||||
).toBe(false);
|
||||
});
|
||||
|
||||
it("can still compile every exported protocol validator", () => {
|
||||
const failures: string[] = [];
|
||||
const validators: Array<[string, ProtocolValidator]> = [];
|
||||
|
||||
@@ -385,6 +385,10 @@ import {
|
||||
SkillsProposalInspectResultSchema,
|
||||
type SkillsProposalRecordResult,
|
||||
SkillsProposalRecordResultSchema,
|
||||
type SkillsProposalRequestRevisionParams,
|
||||
SkillsProposalRequestRevisionParamsSchema,
|
||||
type SkillsProposalRequestRevisionResult,
|
||||
SkillsProposalRequestRevisionResultSchema,
|
||||
type SkillsProposalReviseParams,
|
||||
SkillsProposalReviseParamsSchema,
|
||||
type SkillsProposalUpdateParams,
|
||||
@@ -785,6 +789,8 @@ export const validateSkillsProposalUpdateParams = lazyCompile<SkillsProposalUpda
|
||||
export const validateSkillsProposalReviseParams = lazyCompile<SkillsProposalReviseParams>(
|
||||
SkillsProposalReviseParamsSchema,
|
||||
);
|
||||
export const validateSkillsProposalRequestRevisionParams =
|
||||
lazyCompile<SkillsProposalRequestRevisionParams>(SkillsProposalRequestRevisionParamsSchema);
|
||||
export const validateSkillsProposalActionParams = lazyCompile<SkillsProposalActionParams>(
|
||||
SkillsProposalActionParamsSchema,
|
||||
);
|
||||
@@ -1105,6 +1111,8 @@ export {
|
||||
SkillsProposalCreateParamsSchema,
|
||||
SkillsProposalUpdateParamsSchema,
|
||||
SkillsProposalReviseParamsSchema,
|
||||
SkillsProposalRequestRevisionParamsSchema,
|
||||
SkillsProposalRequestRevisionResultSchema,
|
||||
SkillsProposalActionParamsSchema,
|
||||
SkillsProposalApplyResultSchema,
|
||||
SkillsProposalRecordResultSchema,
|
||||
@@ -1269,6 +1277,8 @@ export type {
|
||||
SkillsProposalCreateParams,
|
||||
SkillsProposalUpdateParams,
|
||||
SkillsProposalReviseParams,
|
||||
SkillsProposalRequestRevisionParams,
|
||||
SkillsProposalRequestRevisionResult,
|
||||
SkillsProposalActionParams,
|
||||
SkillsProposalApplyResult,
|
||||
SkillsProposalRecordResult,
|
||||
|
||||
@@ -763,6 +763,28 @@ export const SkillsProposalReviseParamsSchema = Type.Object(
|
||||
{ additionalProperties: false },
|
||||
);
|
||||
|
||||
/** Starts an agent turn that revises a pending proposal from natural-language instructions. */
|
||||
export const SkillsProposalRequestRevisionParamsSchema = Type.Object(
|
||||
{
|
||||
agentId: Type.Optional(NonEmptyString),
|
||||
proposalId: NonEmptyString,
|
||||
instructions: Type.String({ minLength: 1, maxLength: 32_768 }),
|
||||
sessionKey: NonEmptyString,
|
||||
sessionId: Type.Optional(NonEmptyString),
|
||||
idempotencyKey: NonEmptyString,
|
||||
},
|
||||
{ additionalProperties: false },
|
||||
);
|
||||
|
||||
/** Chat-run acknowledgement returned after queueing a Skill Workshop revision request. */
|
||||
export const SkillsProposalRequestRevisionResultSchema = Type.Object(
|
||||
{
|
||||
runId: NonEmptyString,
|
||||
status: Type.Union([Type.Literal("started"), Type.Literal("in_flight"), Type.Literal("ok")]),
|
||||
},
|
||||
{ additionalProperties: true },
|
||||
);
|
||||
|
||||
/** Shared approve/reject/quarantine action payload for one proposal. */
|
||||
export const SkillsProposalActionParamsSchema = Type.Object(
|
||||
{
|
||||
|
||||
@@ -48,6 +48,8 @@ import {
|
||||
SkillsProposalInspectParamsSchema,
|
||||
SkillsProposalInspectResultSchema,
|
||||
SkillsProposalRecordResultSchema,
|
||||
SkillsProposalRequestRevisionParamsSchema,
|
||||
SkillsProposalRequestRevisionResultSchema,
|
||||
SkillsProposalReviseParamsSchema,
|
||||
SkillsProposalUpdateParamsSchema,
|
||||
SkillsProposalsListParamsSchema,
|
||||
@@ -508,6 +510,8 @@ export const ProtocolSchemas = {
|
||||
SkillsProposalCreateParams: SkillsProposalCreateParamsSchema,
|
||||
SkillsProposalUpdateParams: SkillsProposalUpdateParamsSchema,
|
||||
SkillsProposalReviseParams: SkillsProposalReviseParamsSchema,
|
||||
SkillsProposalRequestRevisionParams: SkillsProposalRequestRevisionParamsSchema,
|
||||
SkillsProposalRequestRevisionResult: SkillsProposalRequestRevisionResultSchema,
|
||||
SkillsProposalActionParams: SkillsProposalActionParamsSchema,
|
||||
SkillsProposalApplyResult: SkillsProposalApplyResultSchema,
|
||||
SkillsProposalRecordResult: SkillsProposalRecordResultSchema,
|
||||
|
||||
@@ -228,6 +228,8 @@ export type SkillsProposalInspectResult = SchemaType<"SkillsProposalInspectResul
|
||||
export type SkillsProposalCreateParams = SchemaType<"SkillsProposalCreateParams">;
|
||||
export type SkillsProposalUpdateParams = SchemaType<"SkillsProposalUpdateParams">;
|
||||
export type SkillsProposalReviseParams = SchemaType<"SkillsProposalReviseParams">;
|
||||
export type SkillsProposalRequestRevisionParams = SchemaType<"SkillsProposalRequestRevisionParams">;
|
||||
export type SkillsProposalRequestRevisionResult = SchemaType<"SkillsProposalRequestRevisionResult">;
|
||||
export type SkillsProposalActionParams = SchemaType<"SkillsProposalActionParams">;
|
||||
export type SkillsProposalApplyResult = SchemaType<"SkillsProposalApplyResult">;
|
||||
export type SkillsProposalRecordResult = SchemaType<"SkillsProposalRecordResult">;
|
||||
|
||||
Reference in New Issue
Block a user