Documentation
¶
Index ¶
- Constants
- func NewBuilderHandler(svc BuilderHandler, opts ...connect.HandlerOption) (string, http.Handler)
- type BuilderClient
- type BuilderHandler
- type UnimplementedBuilderHandler
- func (UnimplementedBuilderHandler) Audit(context.Context, *connect.Request[v0.AuditRequest]) (*connect.Response[v0.AuditResponse], error)
- func (UnimplementedBuilderHandler) Build(context.Context, *connect.Request[v0.BuildRequest]) (*connect.Response[v0.BuildResponse], error)
- func (UnimplementedBuilderHandler) Communicate(context.Context, *connect.BidiStream[v01.Answer, v01.Question]) error
- func (UnimplementedBuilderHandler) Configure(context.Context, *connect.Request[v0.ConfigureRequest]) (*connect.Response[v0.ConfigureResponse], error)
- func (UnimplementedBuilderHandler) Create(context.Context, *connect.Request[v0.CreateRequest]) (*connect.Response[v0.CreateResponse], error)
- func (UnimplementedBuilderHandler) Deploy(context.Context, *connect.Request[v0.DeploymentRequest]) (*connect.Response[v0.DeploymentResponse], error)
- func (UnimplementedBuilderHandler) Init(context.Context, *connect.Request[v0.InitRequest]) (*connect.Response[v0.InitResponse], error)
- func (UnimplementedBuilderHandler) Load(context.Context, *connect.Request[v0.LoadRequest]) (*connect.Response[v0.LoadResponse], error)
- func (UnimplementedBuilderHandler) Sync(context.Context, *connect.Request[v0.SyncRequest]) (*connect.Response[v0.SyncResponse], error)
- func (UnimplementedBuilderHandler) Update(context.Context, *connect.Request[v0.UpdateRequest]) (*connect.Response[v0.UpdateResponse], error)
- func (UnimplementedBuilderHandler) Upgrade(context.Context, *connect.Request[v0.UpgradeRequest]) (*connect.Response[v0.UpgradeResponse], error)
Constants ¶
const ( // BuilderLoadProcedure is the fully-qualified name of the Builder's Load RPC. BuilderLoadProcedure = "/codefly.services.builder.v0.Builder/Load" // BuilderInitProcedure is the fully-qualified name of the Builder's Init RPC. BuilderInitProcedure = "/codefly.services.builder.v0.Builder/Init" // BuilderCreateProcedure is the fully-qualified name of the Builder's Create RPC. BuilderCreateProcedure = "/codefly.services.builder.v0.Builder/Create" // BuilderUpdateProcedure is the fully-qualified name of the Builder's Update RPC. BuilderUpdateProcedure = "/codefly.services.builder.v0.Builder/Update" // BuilderSyncProcedure is the fully-qualified name of the Builder's Sync RPC. BuilderSyncProcedure = "/codefly.services.builder.v0.Builder/Sync" // BuilderBuildProcedure is the fully-qualified name of the Builder's Build RPC. BuilderBuildProcedure = "/codefly.services.builder.v0.Builder/Build" // BuilderDeployProcedure is the fully-qualified name of the Builder's Deploy RPC. BuilderDeployProcedure = "/codefly.services.builder.v0.Builder/Deploy" // BuilderAuditProcedure is the fully-qualified name of the Builder's Audit RPC. BuilderAuditProcedure = "/codefly.services.builder.v0.Builder/Audit" // BuilderUpgradeProcedure is the fully-qualified name of the Builder's Upgrade RPC. BuilderUpgradeProcedure = "/codefly.services.builder.v0.Builder/Upgrade" // BuilderConfigureProcedure is the fully-qualified name of the Builder's Configure RPC. BuilderConfigureProcedure = "/codefly.services.builder.v0.Builder/Configure" // BuilderCommunicateProcedure is the fully-qualified name of the Builder's Communicate RPC. BuilderCommunicateProcedure = "/codefly.services.builder.v0.Builder/Communicate" )
These constants are the fully-qualified names of the RPCs defined in this package. They're exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
Note that these are different from the fully-qualified method names used by google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to reflection-formatted method names, remove the leading slash and convert the remaining slash to a period.
const (
// BuilderName is the fully-qualified name of the Builder service.
BuilderName = "codefly.services.builder.v0.Builder"
)
Variables ¶
This section is empty.
Functions ¶
func NewBuilderHandler ¶
func NewBuilderHandler(svc BuilderHandler, opts ...connect.HandlerOption) (string, http.Handler)
NewBuilderHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.
By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.
Types ¶
type BuilderClient ¶
type BuilderClient interface {
// Load reads service metadata and prepares the builder agent.
Load(context.Context, *connect.Request[v0.LoadRequest]) (*connect.Response[v0.LoadResponse], error)
// Init prepares dependency metadata and builder state.
Init(context.Context, *connect.Request[v0.InitRequest]) (*connect.Response[v0.InitResponse], error)
// Create scaffolds service source code.
Create(context.Context, *connect.Request[v0.CreateRequest]) (*connect.Response[v0.CreateResponse], error)
// Update refreshes an existing service from agent rules or templates.
Update(context.Context, *connect.Request[v0.UpdateRequest]) (*connect.Response[v0.UpdateResponse], error)
// Sync regenerates configuration-derived or template-derived service files.
Sync(context.Context, *connect.Request[v0.SyncRequest]) (*connect.Response[v0.SyncResponse], error)
// Build compiles or packages the service artifact.
Build(context.Context, *connect.Request[v0.BuildRequest]) (*connect.Response[v0.BuildResponse], error)
// Deploy emits or applies deployment artifacts for the target environment.
Deploy(context.Context, *connect.Request[v0.DeploymentRequest]) (*connect.Response[v0.DeploymentResponse], error)
// Audit runs dependency and image vulnerability checks.
Audit(context.Context, *connect.Request[v0.AuditRequest]) (*connect.Response[v0.AuditResponse], error)
// Upgrade applies or previews dependency version bumps.
Upgrade(context.Context, *connect.Request[v0.UpgradeRequest]) (*connect.Response[v0.UpgradeResponse], error)
// Configure applies structured config changes to the service and PERSISTS them
// to service.codefly.yaml. The plugin owns its config file: it validates the
// changes against the schema it advertises via GetAgentInformation and writes
// the file. This is the write-action half of the learn-and-fix loop — the LLM /
// tooling inner loop reads the plugin's knowledge, decides a fix (e.g. add a
// dependency pin to test.provisioning.with), and calls Configure to persist it.
Configure(context.Context, *connect.Request[v0.ConfigureRequest]) (*connect.Response[v0.ConfigureResponse], error)
// Bidirectional streaming for interactive Q&A (e.g. during Create/Sync).
// Plugin streams Questions, CLI streams Answers.
Communicate(context.Context) *connect.BidiStreamForClient[v01.Answer, v01.Question]
}
BuilderClient is a client for the codefly.services.builder.v0.Builder service.
func NewBuilderClient ¶
func NewBuilderClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BuilderClient
NewBuilderClient constructs a client for the codefly.services.builder.v0.Builder service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.
The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).
type BuilderHandler ¶
type BuilderHandler interface {
// Load reads service metadata and prepares the builder agent.
Load(context.Context, *connect.Request[v0.LoadRequest]) (*connect.Response[v0.LoadResponse], error)
// Init prepares dependency metadata and builder state.
Init(context.Context, *connect.Request[v0.InitRequest]) (*connect.Response[v0.InitResponse], error)
// Create scaffolds service source code.
Create(context.Context, *connect.Request[v0.CreateRequest]) (*connect.Response[v0.CreateResponse], error)
// Update refreshes an existing service from agent rules or templates.
Update(context.Context, *connect.Request[v0.UpdateRequest]) (*connect.Response[v0.UpdateResponse], error)
// Sync regenerates configuration-derived or template-derived service files.
Sync(context.Context, *connect.Request[v0.SyncRequest]) (*connect.Response[v0.SyncResponse], error)
// Build compiles or packages the service artifact.
Build(context.Context, *connect.Request[v0.BuildRequest]) (*connect.Response[v0.BuildResponse], error)
// Deploy emits or applies deployment artifacts for the target environment.
Deploy(context.Context, *connect.Request[v0.DeploymentRequest]) (*connect.Response[v0.DeploymentResponse], error)
// Audit runs dependency and image vulnerability checks.
Audit(context.Context, *connect.Request[v0.AuditRequest]) (*connect.Response[v0.AuditResponse], error)
// Upgrade applies or previews dependency version bumps.
Upgrade(context.Context, *connect.Request[v0.UpgradeRequest]) (*connect.Response[v0.UpgradeResponse], error)
// Configure applies structured config changes to the service and PERSISTS them
// to service.codefly.yaml. The plugin owns its config file: it validates the
// changes against the schema it advertises via GetAgentInformation and writes
// the file. This is the write-action half of the learn-and-fix loop — the LLM /
// tooling inner loop reads the plugin's knowledge, decides a fix (e.g. add a
// dependency pin to test.provisioning.with), and calls Configure to persist it.
Configure(context.Context, *connect.Request[v0.ConfigureRequest]) (*connect.Response[v0.ConfigureResponse], error)
// Bidirectional streaming for interactive Q&A (e.g. during Create/Sync).
// Plugin streams Questions, CLI streams Answers.
Communicate(context.Context, *connect.BidiStream[v01.Answer, v01.Question]) error
}
BuilderHandler is an implementation of the codefly.services.builder.v0.Builder service.
type UnimplementedBuilderHandler ¶
type UnimplementedBuilderHandler struct{}
UnimplementedBuilderHandler returns CodeUnimplemented from all methods.
func (UnimplementedBuilderHandler) Audit ¶
func (UnimplementedBuilderHandler) Audit(context.Context, *connect.Request[v0.AuditRequest]) (*connect.Response[v0.AuditResponse], error)
func (UnimplementedBuilderHandler) Build ¶
func (UnimplementedBuilderHandler) Build(context.Context, *connect.Request[v0.BuildRequest]) (*connect.Response[v0.BuildResponse], error)
func (UnimplementedBuilderHandler) Communicate ¶
func (UnimplementedBuilderHandler) Communicate(context.Context, *connect.BidiStream[v01.Answer, v01.Question]) error
func (UnimplementedBuilderHandler) Configure ¶ added in v0.2.1
func (UnimplementedBuilderHandler) Configure(context.Context, *connect.Request[v0.ConfigureRequest]) (*connect.Response[v0.ConfigureResponse], error)
func (UnimplementedBuilderHandler) Create ¶
func (UnimplementedBuilderHandler) Create(context.Context, *connect.Request[v0.CreateRequest]) (*connect.Response[v0.CreateResponse], error)
func (UnimplementedBuilderHandler) Deploy ¶
func (UnimplementedBuilderHandler) Deploy(context.Context, *connect.Request[v0.DeploymentRequest]) (*connect.Response[v0.DeploymentResponse], error)
func (UnimplementedBuilderHandler) Init ¶
func (UnimplementedBuilderHandler) Init(context.Context, *connect.Request[v0.InitRequest]) (*connect.Response[v0.InitResponse], error)
func (UnimplementedBuilderHandler) Load ¶
func (UnimplementedBuilderHandler) Load(context.Context, *connect.Request[v0.LoadRequest]) (*connect.Response[v0.LoadResponse], error)
func (UnimplementedBuilderHandler) Sync ¶
func (UnimplementedBuilderHandler) Sync(context.Context, *connect.Request[v0.SyncRequest]) (*connect.Response[v0.SyncResponse], error)
func (UnimplementedBuilderHandler) Update ¶
func (UnimplementedBuilderHandler) Update(context.Context, *connect.Request[v0.UpdateRequest]) (*connect.Response[v0.UpdateResponse], error)
func (UnimplementedBuilderHandler) Upgrade ¶
func (UnimplementedBuilderHandler) Upgrade(context.Context, *connect.Request[v0.UpgradeRequest]) (*connect.Response[v0.UpgradeResponse], error)