Charles Yao
48419e3f69
feat(copilot): copilot session usecase + dispatch
2026-08-18 21:45:06 -07:00
Charles Yao and Claude Opus 4.8
a7db7d36f1
feat(copilot): session progress bus over the broadcast channel
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:06 -07:00
Charles Yao
043df4e6dc
fix(copilot): prefix-serialize lock-release eval key + prefix regression test
2026-08-18 21:45:06 -07:00
Charles Yao
639235de98
feat(copilot): cross-process session advance lock
2026-08-18 21:45:06 -07:00
Charles Yao
eddb498df2
test(copilot): P1 engine runs on the SQL repository (SQLite)
2026-08-18 21:45:06 -07:00
Charles Yao and Claude Opus 4.8
f889a97032
feat(copilot): SQL repository — checkpoints, runs, test-inputs, conversation
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:06 -07:00
Charles Yao
2ca01cc802
feat(copilot): SQL repository — sessions + version-CAS
...
Add SqlCopilotRepository implementing the Repository Protocol's session
lifecycle (create_session/get_session) and compare_and_advance as a real
DB-level version-CAS: a single UPDATE ... WHERE version=base_version, with
rowcount==0 disambiguated into NotFoundError (missing session) vs
ConflictError (stale version). A UNIQUE(session_id, seq) collision on
conversation items during compare_and_advance is caught and mapped to
ConflictError, making the DB the seq authority. Remaining Repository
methods (checkpoints/runs/test-inputs/list_conversation) are stubbed with
NotImplementedError, deferred to Task 5.
Tested against SQLite in-memory: create/get round-trip, CAS version bump,
stale-version conflict leaving the row unchanged, missing-session
NotFoundError, and duplicate-seq ConflictError.
2026-08-18 21:45:06 -07:00
Charles Yao
0c4eefba1b
feat(copilot): FixContext JSON (de)serialization
2026-08-18 21:45:06 -07:00
Charles Yao
f8f11ff38d
feat(copilot): SQLAlchemy models for copilot session persistence
2026-08-18 21:45:05 -07:00
Charles Yao and Claude Opus 4.8
3ec6c8990d
fix(copilot): adapter review fixes — node_outputs test, tighter apply assert, publish audit fields, no-op apply short-circuit
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:05 -07:00
Charles Yao
ef2ed808fd
feat(copilot): WorkflowService-backed DifyPort adapter
...
Implements WorkflowServiceDifyPort, the real DifyPort adapter that wires
the pure P1 domain and Task 1-3 helpers to WorkflowService,
AppGenerateService, and the node-execution repository. Each method opens
its own session, resolves account/app via the identity helpers, and
mutates the draft graph client-side (no server-side patch primitive)
before writing it back with graph_only=True/sync_agent_bindings=False.
Pins the publish workflow_id+commit gotcha and the hash-mismatch
re-mapping. Confirmed via mocked-service unit tests and a runtime_checkable
isinstance(..., DifyPort) check.
2026-08-18 21:45:05 -07:00
Charles Yao
5a93bec706
feat(copilot): actor→account resolution + app loading with tenant guard
2026-08-18 21:45:05 -07:00
Charles Yao and Claude Opus 4.8
388d3a949b
feat(copilot): pure run-result mapping
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:05 -07:00
Charles Yao
535788f1c1
feat(copilot): pure set_node_config graph mutation
2026-08-18 21:45:05 -07:00
Charles Yao and Claude Opus 4.8
4e73fb566b
test(copilot): full fix-flow engine acceptance on fakes
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:05 -07:00
Charles Yao
6d4e9dd59b
feat(copilot): port canned placeholder agent
2026-08-18 21:45:05 -07:00
Charles Yao and Claude Opus 4.8
0bd9b1f94a
feat(copilot): port checklist handlers + merged fix registry
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:05 -07:00
Charles Yao and Claude Opus 4.8
37008011e2
feat(copilot): port run-fix handlers
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:04 -07:00
Charles Yao and Claude Opus 4.8
04f350d2e5
feat(copilot): port runner with version-CAS advance
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:04 -07:00
Charles Yao and Claude Opus 4.8
aa6eb92ac6
test(copilot): in-memory repository/dify/agent fakes
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:04 -07:00
Charles Yao and Claude Opus 4.8
95f2a11023
feat(copilot): port ports, value types, errors
...
Port dify-enterprise/server/pkg/enterprise/biz/copilot/{ports,errors}.go to
api/core/workflow_copilot as pure Python.
- errors.py: ConflictError, NotFoundError, BusyError (Exception subclasses,
replacing Go's sentinel error values).
- models.py: add Diagnosis, Risk, MutationIntent, ChangeSet, NodeEvent,
ApplyResult value dataclasses (Go: ports.go); tighten FixContext.diagnosis/
staged_repair/risk/change_set from Any to these real types now that they
live in the same module (avoids a models<->ports import cycle).
- ports.py: CopilotAgent / DifyPort / Repository as @runtime_checkable
Protocols, snake_case methods per the port plan; DifyPort methods take
actor: Actor instead of Go's ForwardAuth.
- test_ports.py: constructs each value type, asserts trivial stubs satisfy
each Protocol via isinstance, and checks the error types.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-08-18 21:45:04 -07:00
Charles Yao
1b98b0fb29
feat(copilot): port domain models
2026-08-18 21:45:04 -07:00
Charles Yao
d779b1629a
feat(copilot): port PcState machine to api/core/workflow_copilot
2026-08-18 21:45:04 -07:00
zyssyz123
c38fb16efa
fix(agent): retain usage for incomplete runs ( #40937 )
2026-08-18 13:11:22 +00:00
Asuka Minato
2400c6c59d
test: migrate dataset service sessions and ORM models to SQLite ( #40534 )
2026-08-18 12:35:57 +00:00
Asuka Minato
4f81005662
test: migrate app runtime sessions and ORM models to SQLite ( #40590 )
2026-08-18 12:27:32 +00:00
Asuka Minato
f2dfa462e1
test: migrate agent runtime sessions and ORM models to SQLite ( #40587 )
2026-08-18 12:26:58 +00:00
Asuka Minato
14bc28ffbe
test: migrate residual controller sessions and ORM models to SQLite ( #40579 )
2026-08-18 12:26:33 +00:00
Asuka Minato
5afce305e7
test: migrate residual service and task ORM models to SQLite ( #40576 )
2026-08-18 12:26:01 +00:00
Asuka Minato
beecf5730a
test: migrate telemetry and core entity ORM models to SQLite ( #40574 )
2026-08-18 12:25:42 +00:00
Asuka Minato and autofix-ci[bot]
eeda983b17
test: migrate service boundary sessions and ORM models to SQLite ( #40533 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-08-18 12:23:33 +00:00
Asuka Minato
e2e3521874
test: migrate residual model sessions and ORM models to SQLite ( #40531 )
2026-08-18 12:23:02 +00:00
Asuka Minato
303ce70ac4
test: migrate app model sessions and ORM models to SQLite ( #40530 )
2026-08-18 12:22:33 +00:00
Asuka Minato
5fde1d096e
test: eliminate remaining whole config mocks ( #40855 )
2026-08-18 12:01:49 +00:00
Asuka Minato
3bcd97b643
test: scope plugin and datasource config overrides ( #40854 )
2026-08-18 12:01:29 +00:00
Asuka Minato
20fdbcf36f
test: centralize enterprise config overrides ( #40853 )
2026-08-18 12:01:01 +00:00
Asuka Minato
c7f4422333
test: keep integration config overrides typed ( #40850 )
2026-08-18 12:00:32 +00:00
Asuka Minato
da6ca23b50
test: use typed config overrides in service coverage ( #40848 )
2026-08-18 11:59:58 +00:00
chenshiyang and Claude
0e975f6305
refactor(models): dep-inject Session on remaining @property accessors ( #40797 )
...
Co-authored-by: Claude <noreply@anthropic.com >
2026-08-18 07:23:09 +00:00
zyssyz123
5a0a12cb44
fix: preserve Agent tool-generated file outputs ( #40917 )
2026-08-18 05:59:43 +00:00
Byron.wang and autofix-ci[bot]
ba61ab4f9f
refactor(api): extract account activation application service ( #40421 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-08-18 05:27:40 +00:00
Byron.wang and autofix-ci[bot]
891627b210
refactor(api): decouple data source API key auth flow ( #40452 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-08-18 04:30:17 +00:00
蓝破碎半圆/破碎蓝调
ba5e7d76fd
fix: accept legacy plugin daemon list responses ( #38265 )
2026-08-18 04:11:49 +00:00
Harsh Kashyap and Harsh Kashyap
ca32e87683
fix(api): bound connect phase to 5.0s in two api/core/ outbound timeouts ( #40807 )
...
Co-authored-by: Harsh Kashyap <Harsh23Kashyap@users.noreply.github.com >
2026-08-18 03:38:59 +00:00
mesrop2008
50d6c19ef4
fix(api): clear stale cancellation signals when resuming a paused workflow ( #40905 )
2026-08-18 02:27:43 +00:00
Amogh Bhat Nagri
30c304c6a7
fix(api): repair two malformed logger format strings ( #40901 )
2026-08-18 02:10:59 +00:00
Asuka Minato
02f0e8cffa
test: isolate config inputs from process environment ( #40847 )
2026-08-17 13:09:17 +00:00
Asuka Minato
3f0a9c5060
test: migrate RAG indexing sessions and ORM models to SQLite ( #40513 )
2026-08-17 12:13:02 +00:00
Asuka Minato
ce1aed8df5
test: migrate RAG pipeline sessions and ORM models to SQLite ( #40511 )
2026-08-17 12:12:46 +00:00
Asuka Minato
c3d090fe4e
test: migrate Service API dataset metadata sessions and ORM models to SQLite ( #40518 )
2026-08-17 12:12:06 +00:00