multica-ai/multica · error
write on_conflict field: %w
Error message
write on_conflict field: %w
What it means
Error "write on_conflict field: %w" thrown in multica-ai/multica.
Source
Thrown at server/internal/cli/client.go:630
}
// ImportSkillFile imports a skill from a local archive (.skill / .zip) by
// POSTing it as multipart/form-data to /api/skills/import, alongside the
// on_conflict strategy. The structured import result is decoded into out.
func (c *APIClient) ImportSkillFile(ctx context.Context, fileData []byte, filename, onConflict string, out any) error {
var body bytes.Buffer
writer := multipart.NewWriter(&body)
part, err := writer.CreateFormFile("file", filepath.Base(filename))
if err != nil {
return fmt.Errorf("create form file: %w", err)
}
if _, err := part.Write(fileData); err != nil {
return fmt.Errorf("write file data: %w", err)
}
if onConflict != "" {
if err := writer.WriteField("on_conflict", onConflict); err != nil {
return fmt.Errorf("write on_conflict field: %w", err)
}
}
if err := writer.Close(); err != nil {
return fmt.Errorf("close multipart writer: %w", err)
}
req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.BaseURL+"/api/skills/import", &body)
if err != nil {
return err
}
req.Header.Set("Content-Type", writer.FormDataContentType())
c.setHeaders(req)
// Respect a longer context deadline for slow uploads, mirroring
// UploadFileWithURL: the default client timeout would otherwise shadow it.
httpClient := c.HTTPClient
if deadline, ok := ctx.Deadline(); ok {
remaining := time.Until(deadline)View on GitHub (pinned to 2c0912b6ec)
Solutions
- Retry the import; the multipart request could not be completed.
When it happens
Trigger: Thrown at server/internal/cli/client.go:630 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/e882b40119365b6a.
Report an issue: GitHub.