@ruakit/schema 0.0.0-stage → 0.1.0-alpha.1
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/LICENSE +21 -0
- package/NOTICE +4 -0
- package/dist/decision.d.ts +706 -0
- package/dist/decision.d.ts.map +1 -0
- package/dist/decision.js +3 -0
- package/dist/decision.js.map +7 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +7 -0
- package/dist/plan.d.ts +1126 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +3 -0
- package/dist/plan.js.map +7 -0
- package/dist/protocol.d.ts +99 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +3 -0
- package/dist/protocol.js.map +7 -0
- package/dist/verification.d.ts +162 -0
- package/dist/verification.d.ts.map +1 -0
- package/dist/verification.js +5 -0
- package/dist/verification.js.map +7 -0
- package/package.json +25 -3
- package/src/decision.ts +159 -0
- package/src/index.ts +5 -0
- package/src/plan.ts +177 -0
- package/src/protocol.ts +37 -0
- package/src/verification.ts +204 -0
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decision.d.ts","sourceRoot":"","sources":["../src/decision.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAsDxB,6DAA6D;AAC7D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA4BvB,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAIjC,CAAC;AAEH,kEAAkE;AAClE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA6BzB,CAAC;AAkBH,gEAAgE;AAChE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAShC,CAAC;AAEH,kDAAkD;AAClD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,oCAAoC;AACpC,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,wDAAwD;AACxD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
package/dist/decision.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// Copyright 2026 RuaKit contributors. SPDX-License-Identifier: MIT
|
|
2
|
+
import{z as t}from"zod";import{completionChecksSchema as a,screenshotSchema as r}from"./verification.js";const e=t.strictObject({id:t.string().min(1).max(200),version:t.number().int().positive()}),o=t.strictObject({role:t.enum(["form","group","radiogroup","region","dialog","alertdialog"]),name:t.string().min(1).max(200)}),n=t.strictObject({target:e,tag:t.string().max(100),type:t.string().max(100).optional(),role:t.string().max(100),label:t.string().max(1e3),description:t.string().max(1e3).optional(),placeholder:t.string().max(1e3).optional(),groups:t.array(o).min(1).max(4).optional(),groupsTruncated:t.boolean().optional(),context:t.string().max(1e3),enabled:t.boolean(),readOnly:t.boolean(),value:t.string().max(2e4).optional(),checked:t.boolean().optional(),expanded:t.boolean().optional(),selectedValues:t.array(t.string().max(4e3)).max(100).optional(),options:t.array(t.strictObject({value:t.string().max(4e3),label:t.string().max(1e3),enabled:t.boolean()})).max(200).optional(),valid:t.boolean().optional(),contentEditable:t.boolean().optional()}),i=t.discriminatedUnion("type",[t.strictObject({type:t.literal("click"),target:e}),t.strictObject({type:t.literal("focus"),target:e}),t.strictObject({type:t.literal("insertText"),target:e,text:t.string().max(2e4)}),t.strictObject({type:t.literal("key"),target:e,key:t.string().min(1).max(100),altKey:t.boolean(),ctrlKey:t.boolean(),metaKey:t.boolean(),shiftKey:t.boolean()}),t.strictObject({type:t.literal("fill"),target:e,value:t.string().max(4e3)}),t.strictObject({type:t.literal("select"),target:e,values:t.array(t.string().max(4e3)).min(1).max(100)}),t.strictObject({type:t.literal("check"),target:e,checked:t.boolean()})]),s=t.strictObject({type:t.literal("approval"),message:t.string().trim().min(1).max(2e3),step:i}),l=t.discriminatedUnion("type",[t.strictObject({type:t.literal("act"),message:t.string().min(1).max(2e3),step:i}),t.strictObject({type:t.literal("complete"),message:t.string().min(1).max(2e3),checks:a}),t.strictObject({type:t.literal("prepare"),message:t.string().min(1).max(2e3),checks:a}),t.strictObject({type:t.literal("screenshot"),message:t.string().min(1).max(2e3)}),t.strictObject({type:t.literal("clarify"),message:t.string().min(1).max(500)}),t.strictObject({type:t.literal("unsupported"),message:t.string().min(1).max(2e3)}),s]),c=t.strictObject({question:t.string().max(500),answer:t.string().max(2e3)}),m=t.strictObject({url:t.string().max(4e3),title:t.string().max(2e3),text:t.string().max(2e4),controls:t.array(n).max(200),focused:e.nullable(),truncated:t.boolean()}),x=t.strictObject({platform:t.string().max(200).optional(),prompt:t.string().trim().min(1).max(2e3),clarifications:t.array(c).max(3),snapshot:m,history:t.array(l).max(20),checks:a.nullable().optional(),canScreenshot:t.boolean().optional(),screenshot:r.optional()});export{i as actionSchema,s as approvalDecisionSchema,x as decisionRequestSchema,l as decisionSchema};
|
|
3
|
+
//# sourceMappingURL=decision.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/decision.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright 2026 RuaKit contributors. SPDX-License-Identifier: MIT\nimport { z } from \"zod\";\nimport { completionChecksSchema, screenshotSchema } from \"./verification.js\";\n\n/** Identifies a control in a particular observation. */\nconst target = z.strictObject({\n id: z.string().min(1).max(200),\n version: z.number().int().positive(),\n});\n\n/** Describes an accessible group containing a control. */\nconst controlGroup = z.strictObject({\n role: z.enum([\n \"form\",\n \"group\",\n \"radiogroup\",\n \"region\",\n \"dialog\",\n \"alertdialog\",\n ]),\n name: z.string().min(1).max(200),\n});\n\n/** Describes an observed control and its current state. */\nconst control = z.strictObject({\n target,\n tag: z.string().max(100),\n type: z.string().max(100).optional(),\n role: z.string().max(100),\n label: z.string().max(1000),\n description: z.string().max(1000).optional(),\n placeholder: z.string().max(1000).optional(),\n groups: z.array(controlGroup).min(1).max(4).optional(),\n groupsTruncated: z.boolean().optional(),\n context: z.string().max(1000),\n enabled: z.boolean(),\n readOnly: z.boolean(),\n value: z.string().max(20000).optional(),\n checked: z.boolean().optional(),\n expanded: z.boolean().optional(),\n selectedValues: z.array(z.string().max(4000)).max(100).optional(),\n options: z\n .array(\n z.strictObject({\n value: z.string().max(4000),\n label: z.string().max(1000),\n enabled: z.boolean(),\n }),\n )\n .max(200)\n .optional(),\n valid: z.boolean().optional(),\n contentEditable: z.boolean().optional(),\n});\n\n/** Actions the runtime can perform on an observed target. */\nexport const actionSchema = z.discriminatedUnion(\"type\", [\n z.strictObject({ type: z.literal(\"click\"), target }),\n z.strictObject({ type: z.literal(\"focus\"), target }),\n z.strictObject({\n type: z.literal(\"insertText\"),\n target,\n text: z.string().max(20000),\n }),\n z.strictObject({\n type: z.literal(\"key\"),\n target,\n key: z.string().min(1).max(100),\n altKey: z.boolean(),\n ctrlKey: z.boolean(),\n metaKey: z.boolean(),\n shiftKey: z.boolean(),\n }),\n z.strictObject({\n type: z.literal(\"fill\"),\n target,\n value: z.string().max(4000),\n }),\n z.strictObject({\n type: z.literal(\"select\"),\n target,\n values: z.array(z.string().max(4000)).min(1).max(100),\n }),\n z.strictObject({ type: z.literal(\"check\"), target, checked: z.boolean() }),\n]);\n\n/** The model requests permission for this exact action. Only the host can approve it. */\nexport const approvalDecisionSchema = z.strictObject({\n type: z.literal(\"approval\"),\n message: z.string().trim().min(1).max(2000),\n step: actionSchema,\n});\n\n/** Decisions a planner can return for the current observation. */\nexport const decisionSchema = z.discriminatedUnion(\"type\", [\n z.strictObject({\n type: z.literal(\"act\"),\n message: z.string().min(1).max(2000),\n step: actionSchema,\n }),\n z.strictObject({\n type: z.literal(\"complete\"),\n message: z.string().min(1).max(2000),\n checks: completionChecksSchema,\n }),\n z.strictObject({\n type: z.literal(\"prepare\"),\n message: z.string().min(1).max(2000),\n checks: completionChecksSchema,\n }),\n z.strictObject({\n type: z.literal(\"screenshot\"),\n message: z.string().min(1).max(2000),\n }),\n z.strictObject({\n type: z.literal(\"clarify\"),\n message: z.string().min(1).max(500),\n }),\n z.strictObject({\n type: z.literal(\"unsupported\"),\n message: z.string().min(1).max(2000),\n }),\n approvalDecisionSchema,\n]);\n\n/** A previous question and the user's answer. */\nconst clarification = z.strictObject({\n question: z.string().max(500),\n answer: z.string().max(2000),\n});\n\n/** The page observation on which the planner should base its decision. */\nconst snapshot = z.strictObject({\n url: z.string().max(4000),\n title: z.string().max(2000),\n text: z.string().max(20000),\n controls: z.array(control).max(200),\n focused: target.nullable(),\n truncated: z.boolean(),\n});\n\n/** Observation and conversation context sent to the planner. */\nexport const decisionRequestSchema = z.strictObject({\n platform: z.string().max(200).optional(),\n prompt: z.string().trim().min(1).max(2000),\n clarifications: z.array(clarification).max(3),\n snapshot,\n history: z.array(decisionSchema).max(20),\n checks: completionChecksSchema.nullable().optional(),\n canScreenshot: z.boolean().optional(),\n screenshot: screenshotSchema.optional(),\n});\n\n/** A validated request for a planner decision. */\nexport type DecisionRequest = z.infer<typeof decisionRequestSchema>;\n/** A validated planner decision. */\nexport type Decision = z.infer<typeof decisionSchema>;\n/** A decision asking the host to approve one action. */\nexport type ApprovalDecision = z.infer<typeof approvalDecisionSchema>;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["z", "completionChecksSchema", "screenshotSchema", "target", "controlGroup", "control", "actionSchema", "approvalDecisionSchema", "decisionSchema", "clarification", "snapshot", "decisionRequestSchema"]
|
|
7
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/index.ts"],
|
|
4
|
+
"sourcesContent": ["// Copyright 2026 RuaKit contributors. SPDX-License-Identifier: MIT\nexport * from './protocol.js';\nexport * from './decision.js';\nexport * from './verification.js';\nexport * from './plan.js';\n"],
|
|
5
|
+
"mappings": ";AACA,WAAc,gBACd,WAAc,gBACd,WAAc,oBACd,WAAc",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|