MCPcopy Create free account
hub / github.com/ByteYellow/AgentProvenance / WriteFile

Method WriteFile

internal/computerapi/service.go:66–93  ·  view source on GitHub ↗
(sessionID, filePath, content, toolCallID string)

Source from the content-addressed store, hash-verified

64}
65
66func (s Service) WriteFile(sessionID, filePath, content, toolCallID string) (security.DecisionRecord, error) {
67 meta, err := s.sessionMeta(sessionID)
68 if err != nil {
69 return security.DecisionRecord{}, err
70 }
71 hostPath, err := s.workspacePath(meta.WorkspacePath, filePath)
72 if err != nil {
73 return security.DecisionRecord{}, err
74 }
75 if err := os.MkdirAll(filepath.Dir(hostPath), 0o755); err != nil {
76 return security.DecisionRecord{}, err
77 }
78 if err := os.WriteFile(hostPath, []byte(content), 0o644); err != nil {
79 return security.DecisionRecord{}, err
80 }
81 return s.recordEvent(security.Event{
82 Source: "computer_api",
83 EventType: "file_write",
84 RunID: meta.RunID,
85 SessionID: sessionID,
86 ToolCallID: ensureToolCallID(toolCallID),
87 Path: filePath,
88 }, map[string]any{
89 "path": filePath,
90 "result_ref": hostPath,
91 "bytes": len(content),
92 })
93}
94
95func (s Service) Search(sessionID, pattern, toolCallID string) ([]SearchMatch, security.DecisionRecord, error) {
96 meta, err := s.sessionMeta(sessionID)

Calls 4

sessionMetaMethod · 0.95
workspacePathMethod · 0.95
recordEventMethod · 0.95
ensureToolCallIDFunction · 0.85