oxe-cc 1.12.0 → 1.16.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/.github/dependabot.yml +31 -0
- package/.github/workflows/ci.yml +141 -56
- package/.github/workflows/release.yml +114 -89
- package/CHANGELOG.md +866 -754
- package/README.md +600 -736
- package/bin/lib/oxe-agent-install.cjs +299 -284
- package/bin/lib/oxe-artifact-catalog.cjs +376 -0
- package/bin/lib/oxe-command-registry.cjs +31 -0
- package/bin/lib/oxe-context-engine.cjs +11 -11
- package/bin/lib/oxe-core-command-handlers.cjs +82 -0
- package/bin/lib/oxe-dashboard.cjs +140 -140
- package/bin/lib/oxe-manifest.cjs +20 -20
- package/bin/lib/oxe-npm-version.cjs +6 -4
- package/bin/lib/oxe-plugin-cli.cjs +95 -0
- package/bin/lib/oxe-plugins.cjs +94 -3
- package/bin/lib/oxe-process.cjs +67 -0
- package/bin/lib/oxe-project-health.cjs +2846 -2781
- package/bin/lib/oxe-runtime-semantics.cjs +68 -69
- package/bin/oxe-cc.js +369 -353
- package/docs/INTEGRATION.md +182 -0
- package/docs/QUALITY-GATES.md +46 -0
- package/docs/RELEASE-READINESS.md +86 -61
- package/docs/RUNTIME-SMOKE-MATRIX.md +137 -135
- package/docs/oxe-artifact-map.html +1172 -0
- package/lib/sdk/index.cjs +20 -0
- package/lib/sdk/index.d.ts +971 -876
- package/lib/sdk/index.types.ts +933 -0
- package/oxe/templates/PLUGINS.md +8 -1
- package/oxe/templates/STATE-REFERENCE.md +125 -0
- package/oxe/templates/STATE.md +11 -121
- package/oxe/workflows/help.md +2 -0
- package/package.json +129 -108
- package/packages/runtime/package.json +18 -18
- package/packages/runtime/src/evidence/evidence-store.ts +2 -2
- package/packages/runtime/src/scheduler/multi-agent-coordinator.ts +728 -728
- package/packages/runtime/src/workspace/strategies/git-worktree.ts +24 -24
- package/packages/runtime/tsconfig.json +8 -2
- package/vscode-extension/.vscodeignore +2 -0
- package/vscode-extension/package.json +193 -185
- package/vscode-extension/src/extension.js +11 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: github-actions
|
|
4
|
+
directory: /
|
|
5
|
+
schedule:
|
|
6
|
+
interval: weekly
|
|
7
|
+
day: monday
|
|
8
|
+
time: "09:00"
|
|
9
|
+
timezone: America/Sao_Paulo
|
|
10
|
+
groups:
|
|
11
|
+
github-actions:
|
|
12
|
+
patterns: ["*"]
|
|
13
|
+
labels: [dependencies, github-actions]
|
|
14
|
+
open-pull-requests-limit: 5
|
|
15
|
+
|
|
16
|
+
- package-ecosystem: npm
|
|
17
|
+
directory: /
|
|
18
|
+
schedule:
|
|
19
|
+
interval: weekly
|
|
20
|
+
day: monday
|
|
21
|
+
time: "09:30"
|
|
22
|
+
timezone: America/Sao_Paulo
|
|
23
|
+
groups:
|
|
24
|
+
npm-development:
|
|
25
|
+
dependency-type: development
|
|
26
|
+
patterns: ["*"]
|
|
27
|
+
npm-production:
|
|
28
|
+
dependency-type: production
|
|
29
|
+
patterns: ["*"]
|
|
30
|
+
labels: [dependencies, npm]
|
|
31
|
+
open-pull-requests-limit: 10
|
package/.github/workflows/ci.yml
CHANGED
|
@@ -1,57 +1,142 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [main, master]
|
|
6
|
-
pull_request:
|
|
7
|
-
branches: [main, master]
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- uses: actions/checkout@v4
|
|
28
|
-
- uses: actions/setup-node@v4
|
|
29
|
-
with:
|
|
30
|
-
node-version: '20'
|
|
31
|
-
cache: npm
|
|
32
|
-
- run: npm ci
|
|
33
|
-
- name: OXE Doctor
|
|
34
|
-
run: node bin/oxe-cc.js doctor
|
|
35
|
-
|
|
36
|
-
wrapper-audit:
|
|
37
|
-
runs-on: ubuntu-latest
|
|
38
|
-
needs: test
|
|
39
|
-
steps:
|
|
40
|
-
- uses: actions/checkout@v4
|
|
41
|
-
- uses: actions/setup-node@v4
|
|
42
|
-
with:
|
|
43
|
-
node-version: '20'
|
|
44
|
-
cache: npm
|
|
45
|
-
- run: npm ci
|
|
46
|
-
- name: Audit runtime wrappers
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main, master]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main, master]
|
|
8
|
+
|
|
9
|
+
permissions:
|
|
10
|
+
contents: read
|
|
11
|
+
|
|
12
|
+
concurrency:
|
|
13
|
+
group: ci-${{ github.workflow }}-${{ github.ref }}
|
|
14
|
+
cancel-in-progress: true
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
workflow-lint:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
timeout-minutes: 10
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
22
|
+
with:
|
|
23
|
+
persist-credentials: false
|
|
24
|
+
- name: Install immutable actionlint
|
|
25
|
+
run: go install github.com/rhysd/actionlint/cmd/actionlint@03d0035246f3e81f36aed592ffb4bebf33a03106 # v1.7.7
|
|
26
|
+
- name: Validate GitHub Actions workflows
|
|
47
27
|
run: |
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
28
|
+
ACTIONLINT="$(go env GOPATH)/bin/actionlint"
|
|
29
|
+
"$ACTIONLINT"
|
|
30
|
+
|
|
31
|
+
test:
|
|
32
|
+
runs-on: ubuntu-latest
|
|
33
|
+
timeout-minutes: 45
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
36
|
+
with:
|
|
37
|
+
persist-credentials: false
|
|
38
|
+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
39
|
+
with:
|
|
40
|
+
node-version: '20'
|
|
41
|
+
cache: npm
|
|
42
|
+
- run: npm ci
|
|
43
|
+
- name: Reset quality telemetry
|
|
44
|
+
run: node scripts/quality-report.cjs reset
|
|
45
|
+
- name: Lint
|
|
46
|
+
run: node scripts/quality-report.cjs exec --name lint -- npm run lint
|
|
47
|
+
- name: Formatting
|
|
48
|
+
run: node scripts/quality-report.cjs exec --name format -- npm run format:check
|
|
49
|
+
- name: SDK type contract
|
|
50
|
+
run: node scripts/quality-report.cjs exec --name sdk-types -- npm run test:sdk-types
|
|
51
|
+
- name: Full test and coverage gate
|
|
52
|
+
run: node scripts/quality-report.cjs exec --name coverage -- npm run test:coverage
|
|
53
|
+
- name: Extension Host integration
|
|
54
|
+
run: node scripts/quality-report.cjs exec --name extension-host -- xvfb-run -a npm test --workspace oxe-agents
|
|
55
|
+
- name: Production dependency audit
|
|
56
|
+
run: node scripts/quality-report.cjs exec --name npm-audit -- npm audit
|
|
57
|
+
- name: Canonical assets
|
|
58
|
+
run: node scripts/quality-report.cjs exec --name assets -- npm run scan:assets
|
|
59
|
+
- name: Build VSIX
|
|
60
|
+
run: node scripts/quality-report.cjs exec --name vsix -- npm run build:vscode-ext
|
|
61
|
+
- name: npm package contract
|
|
62
|
+
run: node scripts/quality-report.cjs exec --name pack -- npm run release:pack-check
|
|
63
|
+
- name: Release manifest
|
|
64
|
+
run: node scripts/quality-report.cjs exec --name release-manifest -- npm run release:manifest
|
|
65
|
+
- name: Build quality report
|
|
66
|
+
if: always()
|
|
67
|
+
run: |
|
|
68
|
+
node scripts/quality-report.cjs finalize
|
|
69
|
+
cat .oxe/release/quality-gates-report.md >> "$GITHUB_STEP_SUMMARY"
|
|
70
|
+
- name: Upload quality evidence
|
|
71
|
+
if: always()
|
|
72
|
+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
73
|
+
with:
|
|
74
|
+
name: oxe-quality-gates
|
|
75
|
+
path: |
|
|
76
|
+
.oxe/release/quality-gates-report.json
|
|
77
|
+
.oxe/release/quality-gates-report.md
|
|
78
|
+
coverage/coverage-summary.json
|
|
79
|
+
if-no-files-found: error
|
|
80
|
+
retention-days: 30
|
|
81
|
+
|
|
82
|
+
node-compatibility:
|
|
83
|
+
name: Node ${{ matrix.node-version }} compatibility
|
|
84
|
+
runs-on: ubuntu-latest
|
|
85
|
+
timeout-minutes: 25
|
|
86
|
+
strategy:
|
|
87
|
+
fail-fast: false
|
|
88
|
+
matrix:
|
|
89
|
+
node-version: ['18', '22']
|
|
90
|
+
steps:
|
|
91
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
92
|
+
with:
|
|
93
|
+
persist-credentials: false
|
|
94
|
+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
95
|
+
with:
|
|
96
|
+
node-version: ${{ matrix.node-version }}
|
|
97
|
+
cache: npm
|
|
98
|
+
- run: npm ci
|
|
99
|
+
- run: npm run build:runtime
|
|
100
|
+
- run: npm run test:root
|
|
101
|
+
|
|
102
|
+
doctor:
|
|
103
|
+
runs-on: ubuntu-latest
|
|
104
|
+
timeout-minutes: 10
|
|
105
|
+
needs: test
|
|
106
|
+
steps:
|
|
107
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
108
|
+
with:
|
|
109
|
+
persist-credentials: false
|
|
110
|
+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
111
|
+
with:
|
|
112
|
+
node-version: '20'
|
|
113
|
+
cache: npm
|
|
114
|
+
- run: npm ci
|
|
115
|
+
- name: OXE Doctor
|
|
116
|
+
run: node bin/oxe-cc.js doctor
|
|
117
|
+
|
|
118
|
+
wrapper-audit:
|
|
119
|
+
runs-on: ubuntu-latest
|
|
120
|
+
timeout-minutes: 10
|
|
121
|
+
needs: test
|
|
122
|
+
steps:
|
|
123
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
124
|
+
with:
|
|
125
|
+
persist-credentials: false
|
|
126
|
+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
127
|
+
with:
|
|
128
|
+
node-version: '20'
|
|
129
|
+
cache: npm
|
|
130
|
+
- run: npm ci
|
|
131
|
+
- name: Audit runtime wrappers
|
|
132
|
+
run: |
|
|
133
|
+
node -e "
|
|
134
|
+
const rs = require('./bin/lib/oxe-runtime-semantics.cjs');
|
|
135
|
+
const r = rs.auditRuntimeTargets('.');
|
|
136
|
+
if (!r.ok) {
|
|
137
|
+
console.error('Wrapper audit failed:');
|
|
138
|
+
console.error(JSON.stringify(r.mismatches, null, 2));
|
|
139
|
+
process.exit(1);
|
|
140
|
+
}
|
|
141
|
+
console.log('Wrapper audit passed — all targets in sync');
|
|
142
|
+
"
|
|
@@ -1,94 +1,119 @@
|
|
|
1
|
-
name: Release
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
tags:
|
|
6
|
-
- 'v*.*.*'
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- run: npm
|
|
37
|
-
- run:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
name: Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*.*.*'
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
concurrency:
|
|
12
|
+
group: release-${{ github.ref }}
|
|
13
|
+
cancel-in-progress: false
|
|
14
|
+
|
|
15
|
+
jobs:
|
|
16
|
+
validate:
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
timeout-minutes: 45
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
21
|
+
with:
|
|
22
|
+
persist-credentials: false
|
|
23
|
+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
24
|
+
with:
|
|
25
|
+
node-version: '20'
|
|
26
|
+
cache: npm
|
|
27
|
+
- run: npm ci
|
|
28
|
+
- name: Validate release tag against package version
|
|
29
|
+
run: test "${GITHUB_REF_NAME#v}" = "$(node -p "require('./package.json').version")"
|
|
30
|
+
- run: node scripts/quality-report.cjs reset
|
|
31
|
+
- run: node scripts/quality-report.cjs exec --name lint -- npm run lint
|
|
32
|
+
- run: node scripts/quality-report.cjs exec --name format -- npm run format:check
|
|
33
|
+
- run: node scripts/quality-report.cjs exec --name sdk-types -- npm run test:sdk-types
|
|
34
|
+
- run: node scripts/quality-report.cjs exec --name coverage -- npm run test:coverage
|
|
35
|
+
- run: node scripts/quality-report.cjs exec --name extension-host -- xvfb-run -a npm test --workspace oxe-agents
|
|
36
|
+
- run: node scripts/quality-report.cjs exec --name npm-audit -- npm audit
|
|
37
|
+
- run: node scripts/quality-report.cjs exec --name assets -- npm run scan:assets
|
|
38
|
+
- run: node scripts/quality-report.cjs exec --name vsix -- npm run build:vscode-ext
|
|
39
|
+
- run: node scripts/quality-report.cjs exec --name pack -- npm run release:pack-check
|
|
40
|
+
- run: node scripts/quality-report.cjs exec --name release-manifest -- npm run release:manifest
|
|
41
|
+
- name: Build quality report
|
|
42
|
+
if: always()
|
|
43
|
+
run: |
|
|
44
|
+
node scripts/quality-report.cjs finalize
|
|
45
|
+
cat .oxe/release/quality-gates-report.md >> "$GITHUB_STEP_SUMMARY"
|
|
46
|
+
- name: Upload quality evidence
|
|
47
|
+
if: always()
|
|
48
|
+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
49
|
+
with:
|
|
50
|
+
name: oxe-release-quality-gates
|
|
51
|
+
path: |
|
|
52
|
+
.oxe/release/quality-gates-report.json
|
|
53
|
+
.oxe/release/quality-gates-report.md
|
|
54
|
+
coverage/coverage-summary.json
|
|
55
|
+
if-no-files-found: error
|
|
56
|
+
retention-days: 90
|
|
57
|
+
|
|
58
|
+
build-vsix:
|
|
59
|
+
needs: validate
|
|
60
|
+
runs-on: ubuntu-latest
|
|
61
|
+
timeout-minutes: 15
|
|
62
|
+
steps:
|
|
63
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
64
|
+
with:
|
|
65
|
+
persist-credentials: false
|
|
66
|
+
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
|
|
67
|
+
with:
|
|
68
|
+
node-version: '20'
|
|
69
|
+
cache: npm
|
|
50
70
|
- run: npm ci
|
|
51
71
|
- run: npm run build:vscode-ext
|
|
52
|
-
-
|
|
53
|
-
|
|
54
|
-
name: oxe-agents-vsix
|
|
55
|
-
path: '*.vsix'
|
|
56
|
-
if-no-files-found: warn
|
|
57
|
-
|
|
58
|
-
create-release:
|
|
59
|
-
needs: [publish-npm, build-vsix]
|
|
60
|
-
runs-on: ubuntu-latest
|
|
61
|
-
permissions:
|
|
62
|
-
contents: write
|
|
63
|
-
steps:
|
|
64
|
-
- uses: actions/checkout@v4
|
|
65
|
-
- name: Extract changelog entry
|
|
66
|
-
id: changelog
|
|
72
|
+
- name: Resolve current VSIX
|
|
73
|
+
id: current-vsix
|
|
67
74
|
run: |
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
cat CHANGELOG_EXTRACT.md
|
|
74
|
-
- uses: actions/download-artifact@v4
|
|
75
|
+
VERSION="$(node -p "require('./vscode-extension/package.json').version")"
|
|
76
|
+
FILE="vscode-extension/oxe-agents-${VERSION}.vsix"
|
|
77
|
+
test -f "$FILE"
|
|
78
|
+
echo "path=$FILE" >> "$GITHUB_OUTPUT"
|
|
79
|
+
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
75
80
|
with:
|
|
76
81
|
name: oxe-agents-vsix
|
|
77
|
-
path:
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
82
|
+
path: ${{ steps.current-vsix.outputs.path }}
|
|
83
|
+
if-no-files-found: error
|
|
84
|
+
retention-days: 30
|
|
85
|
+
|
|
86
|
+
create-release:
|
|
87
|
+
needs: [validate, build-vsix]
|
|
88
|
+
runs-on: ubuntu-latest
|
|
89
|
+
timeout-minutes: 10
|
|
90
|
+
permissions:
|
|
91
|
+
contents: write
|
|
92
|
+
steps:
|
|
93
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
94
|
+
with:
|
|
95
|
+
persist-credentials: false
|
|
96
|
+
- name: Extract changelog entry
|
|
97
|
+
run: |
|
|
98
|
+
TAG="${{ github.ref_name }}"
|
|
99
|
+
VERSION="${TAG#v}"
|
|
100
|
+
awk "/^## \[${VERSION}\]/{found=1; next} found && /^## \[/{exit} found{print}" CHANGELOG.md > CHANGELOG_EXTRACT.md
|
|
101
|
+
test -s CHANGELOG_EXTRACT.md
|
|
102
|
+
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
|
103
|
+
with:
|
|
104
|
+
name: oxe-agents-vsix
|
|
105
|
+
path: dist/
|
|
106
|
+
- name: Create GitHub Release
|
|
107
|
+
env:
|
|
108
|
+
GH_TOKEN: ${{ github.token }}
|
|
109
|
+
run: |
|
|
110
|
+
TAG="${{ github.ref_name }}"
|
|
111
|
+
mapfile -t VSIX_FILES < <(find dist/ -type f -name "*.vsix")
|
|
112
|
+
if [ "${#VSIX_FILES[@]}" -eq 0 ]; then
|
|
113
|
+
echo "VSIX obrigatório não encontrado no artefato oxe-agents-vsix" >&2
|
|
114
|
+
exit 1
|
|
115
|
+
fi
|
|
116
|
+
gh release create "$TAG" \
|
|
117
|
+
--title "oxe-cc $TAG" \
|
|
118
|
+
--notes-file CHANGELOG_EXTRACT.md \
|
|
119
|
+
"${VSIX_FILES[@]}"
|