Skip to content

Commit 877fa72

Browse files
authored
Merge branch 'main' into codex/fix-action-ai-context
2 parents 76a3f27 + 70886ed commit 877fa72

239 files changed

Lines changed: 21402 additions & 32441 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/go.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@ jobs:
9191
go-version-file: go.mod
9292
cache: true
9393

94+
- name: Set up Node.js
95+
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
96+
with:
97+
node-version-file: '.nvmrc'
98+
9499
- name: Verify handler annotations parse and produce valid OpenAPI 3.0
95100
run: make openapi-check
96101
# Fails when swag can't parse an annotation, or when the resulting

Makefile

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,15 @@ ci: ci-go ci-frontend
127127

128128
# Regenerate the OpenAPI v1 spec from handler annotations.
129129
# Pipeline: swag emits Swagger 2.0 (JSON) -> openapi-convert produces
130-
# OpenAPI 3.0 yaml/json -> intermediate Swagger 2.0 file is removed.
131-
# Only api/openapi.{yaml,json} is committed.
130+
# OpenAPI 3.0 JSON -> intermediate Swagger 2.0 file is removed.
131+
# Only api/openapi.json is committed.
132132
openapi:
133133
@echo "Regenerating OpenAPI spec..."
134134
@$(SWAG) init -g internal/restapi/v1/doc.go -d ./,internal/restapi --parseInternal -o $(OPENAPI_DIR) --outputTypes json -q
135135
@go run ./scripts/openapi-convert -in $(OPENAPI_DIR)/swagger.json \
136-
-out-yaml $(OPENAPI_DIR)/openapi.yaml \
137136
-out-json $(OPENAPI_DIR)/openapi.json
138137
@rm -f $(OPENAPI_DIR)/swagger.json
139-
@echo "Spec written to $(OPENAPI_DIR)/openapi.{yaml,json}"
138+
@echo "Spec written to $(OPENAPI_DIR)/openapi.json"
140139

141140
# Regenerate the public v2 schemas and shared responses from canonical route
142141
# request, response, media-type, envelope, and success-status metadata.
@@ -145,13 +144,13 @@ openapi-v2:
145144

146145
# Verify that handler annotations parse cleanly under swag and the generated
147146
# spec is valid OpenAPI 3.0. Does NOT compare against the committed
148-
# api/openapi.{json,yaml} — that byte-equality check was a continuous source
147+
# api/openapi.json — that byte-equality check was a continuous source
149148
# of host-environment-dependent CI noise (swag's output differed between CI
150149
# and local in ways we couldn't isolate over multiple cycles).
151150
#
152151
# The canonical contract test is core-tests/TestAPIOpenAPIContract, which runs
153152
# the actual server and validates response shapes against the spec. The
154-
# committed api/openapi.{json,yaml} is best-effort up-to-date; run
153+
# committed api/openapi.json is best-effort up-to-date; run
155154
# `make openapi` locally to refresh it (e.g., before a release).
156155
#
157156
# This target writes to a tempdir so it doesn't touch the committed spec.
@@ -164,7 +163,6 @@ openapi-check:
164163
@tmpdir=$$(mktemp -d) && trap "rm -rf $$tmpdir" EXIT && \
165164
$(SWAG) init -g internal/restapi/v1/doc.go -d ./,internal/restapi --parseInternal -o $$tmpdir --outputTypes json -q && \
166165
go run ./scripts/openapi-convert -in $$tmpdir/swagger.json \
167-
-out-yaml $$tmpdir/openapi.yaml \
168166
-out-json $$tmpdir/openapi.json && \
169167
echo "OpenAPI spec generates cleanly and validates as OpenAPI 3.0."
170168
@$(MAKE) --no-print-directory openapi-v2-check
@@ -174,6 +172,7 @@ openapi-v2-check:
174172
@go run ./scripts/openapi-v2-generate -spec api/openapi-v2.json -check
175173
@go run ./scripts/openapi-v2-check -spec api/openapi-v2.json
176174
@$(MAKE) --no-print-directory openapi-v2-client-smoke
175+
@node scripts/check-frontend-v2-fields.mjs
177176

178177
openapi-v2-client-smoke:
179178
@tmpdir=$$(mktemp -d /tmp/windshift-v2-client.XXXXXX) && trap 'rm -rf "$$tmpdir"' EXIT && \
@@ -237,7 +236,7 @@ help:
237236
@echo " make clean - Clean build artifacts"
238237
@echo " make dev-tools - Install pinned Go tools used by CI"
239238
@echo " make hooks - Install git pre-commit hook"
240-
@echo " make openapi - Regenerate api/openapi.{yaml,json} from handler annotations"
239+
@echo " make openapi - Regenerate api/openapi.json from handler annotations"
241240
@echo " make openapi-v2 - Regenerate typed v2 schemas from canonical route metadata"
242241
@echo " make openapi-v2-client-smoke - Generate and compile a pinned Go v2 client"
243242
@echo " make openapi-check - Validate v1 generation and v2 route/spec parity (used by hooks/CI)"

api/agent-studio.openapi.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,9 @@ paths:
363363
properties:
364364
session_id:
365365
type: integer
366+
history_after_message_id:
367+
type: integer
368+
description: Start a fresh General-chat context after this durable transcript message.
366369
message:
367370
type: string
368371
responses:

api/embed.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,6 @@ import _ "embed"
1010
//go:embed openapi.json
1111
var SpecJSON []byte
1212

13-
// SpecYAML is the OpenAPI 3.0 spec serialized as YAML.
14-
//
15-
//go:embed openapi.yaml
16-
var SpecYAML []byte
17-
1813
// V2SpecJSON is the canonical dual-mount API v2 contract.
1914
//
2015
//go:embed openapi-v2.json

0 commit comments

Comments
 (0)