@oxy-hq/cli 0.1.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 +163 -0
- package/dist/main.mjs +6688 -0
- package/dist/main.mjs.map +1 -0
- package/dist/mcp-VdontkUr.mjs +316 -0
- package/dist/mcp-VdontkUr.mjs.map +1 -0
- package/json-schemas/agent-test.json +104 -0
- package/json-schemas/agentic.json +406 -0
- package/json-schemas/app.json +1884 -0
- package/json-schemas/config.json +2215 -0
- package/json-schemas/flow-test.json +124 -0
- package/json-schemas/global-semantics.json +782 -0
- package/json-schemas/workflow.json +1907 -0
- package/package.json +65 -0
- package/skills/oxy-airway-pipelines/SKILL.md +338 -0
- package/skills/oxy-automations/SKILL.md +67 -0
- package/skills/oxy-cli/SKILL.md +134 -0
- package/skills/oxy-custom-apps/SKILL.md +330 -0
- package/skills/oxy-data-architecture/SKILL.md +225 -0
- package/skills/oxy-semantic-modeling/SKILL.md +216 -0
- package/template/.gitattributes +2 -0
- package/template/.github/scripts/ci-publish.sh +77 -0
- package/template/.github/scripts/discover-apps.sh +175 -0
- package/template/.github/scripts/publish-env.sh +55 -0
- package/template/.github/workflows/publish.yaml +653 -0
- package/template/.github/workflows/validate.yaml +264 -0
- package/template/.nvmrc +1 -0
- package/template/.oxyc-managed +297 -0
- package/template/README.md +414 -0
- package/template/_gitignore +32 -0
- package/template/apps/.gitkeep +0 -0
- package/template/config.yml +53 -0
- package/template/memory/.gitkeep +0 -0
- package/template/package.json +17 -0
- package/template/pipelines/.gitkeep +0 -0
- package/template/pnpm-workspace.yaml +32 -0
- package/template/scripts/dev.sh +443 -0
- package/template/semantics/topics/.gitkeep +0 -0
- package/template/semantics/views/.gitkeep +0 -0
- package/template/workflows/.gitkeep +0 -0
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "FlowTestConfig",
|
|
4
|
+
"description": "Schema for .flow.test.yml files — agent-driven browser tests. The runner exposes only generic browser tools to the LLM; steps are described in natural language and the LLM reads the page (accessibility tree) to act.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["cases"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"name": {
|
|
9
|
+
"type": ["string", "null"]
|
|
10
|
+
},
|
|
11
|
+
"target": {
|
|
12
|
+
"description": "Surface area being tested (chat, ide, threads, onboarding, any). Documentation hint only — does not change the toolkit exposed to the LLM.",
|
|
13
|
+
"type": ["string", "null"],
|
|
14
|
+
"enum": ["chat", "ide", "threads", "onboarding", "any", null]
|
|
15
|
+
},
|
|
16
|
+
"settings": {
|
|
17
|
+
"default": {
|
|
18
|
+
"runs": 1,
|
|
19
|
+
"model": "claude-sonnet-4-6",
|
|
20
|
+
"judge_model": "claude-haiku-4-5-20251001",
|
|
21
|
+
"trace": "on-failure",
|
|
22
|
+
"cache_actions": true,
|
|
23
|
+
"max_steps": 30,
|
|
24
|
+
"backend_mode": "local"
|
|
25
|
+
},
|
|
26
|
+
"allOf": [{ "$ref": "#/definitions/FlowSettings" }]
|
|
27
|
+
},
|
|
28
|
+
"setup": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"default": [],
|
|
31
|
+
"items": { "type": "string" },
|
|
32
|
+
"description": "Named fixture commands run before each case: reset_test_file, goto:/path"
|
|
33
|
+
},
|
|
34
|
+
"cases": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"items": { "$ref": "#/definitions/FlowCase" }
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"additionalProperties": false,
|
|
40
|
+
"definitions": {
|
|
41
|
+
"FlowSettings": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"properties": {
|
|
44
|
+
"runs": { "type": "integer", "default": 1, "minimum": 1 },
|
|
45
|
+
"model": { "type": "string", "default": "claude-sonnet-4-6" },
|
|
46
|
+
"judge_model": { "type": "string", "default": "claude-haiku-4-5-20251001" },
|
|
47
|
+
"trace": { "type": "string", "enum": ["on-failure", "always", "never"], "default": "on-failure" },
|
|
48
|
+
"cache_actions": { "type": "boolean", "default": true },
|
|
49
|
+
"max_steps": { "type": "integer", "default": 30, "minimum": 1 },
|
|
50
|
+
"backend_mode": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"enum": ["local", "cloud"],
|
|
53
|
+
"default": "local",
|
|
54
|
+
"description": "Which oxy backend mode the flow exercises. 'local' = single-workspace (oxy start --local --enterprise on :3000); 'cloud' = multi-tenant onboarding (oxy start --enterprise --clean, runner targets the auth-disabled internal port :3001). Flows in a single invocation must agree."
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"additionalProperties": false
|
|
58
|
+
},
|
|
59
|
+
"FlowCase": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"required": ["name", "steps"],
|
|
62
|
+
"properties": {
|
|
63
|
+
"name": { "type": "string" },
|
|
64
|
+
"tags": {
|
|
65
|
+
"type": "array",
|
|
66
|
+
"items": { "type": "string" },
|
|
67
|
+
"default": []
|
|
68
|
+
},
|
|
69
|
+
"steps": {
|
|
70
|
+
"type": "array",
|
|
71
|
+
"items": { "$ref": "#/definitions/FlowStep" }
|
|
72
|
+
},
|
|
73
|
+
"expect": {
|
|
74
|
+
"type": "array",
|
|
75
|
+
"default": [],
|
|
76
|
+
"items": { "$ref": "#/definitions/FlowExpect" }
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"additionalProperties": false
|
|
80
|
+
},
|
|
81
|
+
"FlowStep": {
|
|
82
|
+
"type": "object",
|
|
83
|
+
"oneOf": [
|
|
84
|
+
{ "required": ["act"] },
|
|
85
|
+
{ "required": ["wait_for"] }
|
|
86
|
+
],
|
|
87
|
+
"properties": {
|
|
88
|
+
"act": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"description": "Natural-language step. The LLM reads the page via browser_snapshot and chooses generic browser actions."
|
|
91
|
+
},
|
|
92
|
+
"wait_for": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"description": "Named wait primitive: streaming_complete, network_idle, selector:<sel>"
|
|
95
|
+
},
|
|
96
|
+
"cache_scope": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"enum": ["flow", "shared"],
|
|
99
|
+
"default": "flow",
|
|
100
|
+
"description": "Cache scope. 'shared' lets two flows that describe the same canonical step (e.g., a copy-pasted prelude from canonical-prompts.md) reuse a single recording. 'flow' (default) keeps the recording private to this flow/case/step."
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"additionalProperties": false
|
|
104
|
+
},
|
|
105
|
+
"FlowExpect": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"oneOf": [
|
|
108
|
+
{ "required": ["assert"] },
|
|
109
|
+
{ "required": ["judge"] }
|
|
110
|
+
],
|
|
111
|
+
"properties": {
|
|
112
|
+
"assert": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"description": "Deterministic assertion: 'text X visible', 'selector Y has attribute Z=W', 'tool succeeded'."
|
|
115
|
+
},
|
|
116
|
+
"judge": {
|
|
117
|
+
"type": "string",
|
|
118
|
+
"description": "Natural-language claim verified by LLM judge against screenshot + DOM text."
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"additionalProperties": false
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|