Versions in this module Expand all Collapse all v0 v0.2.5 Mar 18, 2026 v0.2.4 Mar 17, 2026 v0.2.3 Mar 17, 2026 v0.2.2 Mar 16, 2026 Changes in this version + const MagicEncrypted + func DecryptBundle(encPath string, privKey ed25519.PrivateKey) ([]byte, error) + func EncryptBundle(plainPath, outPath string, recipientEd25519Pub ed25519.PublicKey) error + func IsEncryptedBundle(path string) bool + func LoadClawNetIdentity() (ed25519.PrivateKey, error) + func LoadIdentityKey(path string) (ed25519.PrivateKey, error) + func ParsePeerPubKey(s string) (ed25519.PublicKey, error) v0.2.1 Mar 14, 2026 Changes in this version + const DefaultClawNetAddr + const MagicBytes + const SpecVersion + func Check(dir string) (*Manifest, *ValidationResult, error) + func GenerateID() string + func HashBundle(path string) (string, error) + func IsIgnored(relPath string, patterns []string) bool + func LoadIgnorePatterns(dir string) []string + func ManifestToClawNetExtension(peerID, taskID string, reward float64) json.RawMessage + func PackWithCompression(srcDir, output string, level CompressionLevel) (*Manifest, *CompressionPlan, error) + func Schema() string + func ServeViewer(target string, port int) (string, *http.Server, error) + func Set(dir, key, value string) error + func ValidateFile(path string) (*Manifest, *ValidationResult, error) + type APIConfig struct + AuthMethod string + BaseURLs map[string]string + CredentialRef string + EndpointsSpec string + type Acceptance struct + AutoVerifiable bool + Checklist []string + CriteriaFile string + HumanReviewRequired bool + TestScripts []string + type Bundle struct + func Open(nutPath string) (*Bundle, error) + func (b *Bundle) FilesByPrefix(prefix string) []string + func (b *Bundle) HasFile(path string) bool + func (b *Bundle) ListFiles() []string + func (b *Bundle) Manifest() *Manifest + func (b *Bundle) ManifestJSON() ([]byte, error) + func (b *Bundle) ReadContext() ([]byte, error) + func (b *Bundle) ReadFile(path string) ([]byte, error) + func (b *Bundle) ReadFileString(path string) (string, error) + func (b *Bundle) Repack(w io.Writer) error + type BundleHash struct + Algorithm string + Digest string + type ClawNetClient struct + BaseURL string + HTTPClient *http.Client + func NewClawNetClient(addr string) *ClawNetClient + func (c *ClawNetClient) DownloadBundle(taskID, outPath string) error + func (c *ClawNetClient) GetCreditBalance() (*CreditBalance, error) + func (c *ClawNetClient) GetTask(taskID string) (*ClawNetTask, error) + func (c *ClawNetClient) ListOpenTasks() ([]*ClawNetTask, error) + func (c *ClawNetClient) Ping() (*ClawNetStatus, error) + func (c *ClawNetClient) PublishTask(m *Manifest, nutHash string) (*ClawNetTask, error) + func (c *ClawNetClient) SubmitDelivery(taskID, result, deliveryHash string) error + func (c *ClawNetClient) UploadBundle(taskID, nutPath string) error + type ClawNetStatus struct + AgentName string + PeerCount int + PeerID string + type ClawNetTask struct + AssignedTo string + AuthorID string + AuthorName string + BundleType string + Deadline string + Description string + ID string + NutshellHash string + NutshellID string + Result string + Reward float64 + Status string + Tags string + Title string + type Completeness struct + Missing []string + Status string + Warnings []string + type Compression struct + Algorithm string + CompressedSizeBytes int64 + ContextTokensEstimate int + OriginalSizeBytes int64 + type CompressionLevel int + const CompressBest + const CompressDefault + const CompressFast + const CompressNone + type CompressionPlan struct + EstimatedTokens int + Files []FileStrategy + PrecompBytes int64 + TextBytes int64 + TotalOriginal int64 + func AnalyzeCompression(dir string) (*CompressionPlan, error) + type Context struct + Additional []string + Architecture string + References string + Requirements string + type CredentialScope struct + AccessLevel string + ExpiresAt string + Name string + RateLimit string + Type string + type CredentialStatus struct + DaysLeft int + ExpiresAt string + Name string + Status string + Type string + func AuditCredentials(dir string) ([]CredentialStatus, error) + type Credentials struct + Encryption string + Scopes []CredentialScope + Vault string + type CreditBalance struct + Balance float64 + Energy float64 + Frozen float64 + PeerID string + type DiffEntry struct + A string + B string + Field string + func Diff(pathA, pathB string) ([]DiffEntry, error) + type DocRef struct + Title string + URL string + type FileEntry struct + Hash string + Path string + Role string + Size int64 + type FileManifest struct + TotalCount int + TotalSizeBytes int64 + Tree []FileEntry + type FileStrategy struct + Category string + GzipLevel int + OriginalSize int64 + Path string + Recommendation string + type Harness struct + AgentTypeHint string + Checkpoints bool + Constraints []string + ContextBudgetHint float64 + ExecutionStrategy string + type ImageRef struct + Description string + Path string + type LinkRef struct + Title string + URL string + type Manifest struct + APIs *APIConfig + Acceptance *Acceptance + BundleType string + Completeness *Completeness + Compression *Compression + Context Context + CreatedAt string + Credentials *Credentials + ExpiresAt string + Extensions map[string]json.RawMessage + Files FileManifest + Harness *Harness + ID string + NutshellVersion string + ParentID string + Publisher Publisher + Resources *Resources + Tags Tags + Task Task + func Inspect(nutPath string) (*Manifest, []string, error) + func InspectReader(r io.Reader) (*Manifest, []string, error) + func Merge(dirs []string, outDir string) (*Manifest, error) + func NewManifest() *Manifest + func Pack(srcDir, output string) (*Manifest, error) + func Unpack(nutPath, outDir string) (*Manifest, error) + type Publisher struct + Contact string + Name string + Tool string + type RepoRef struct + Branch string + Relevance string + URL string + type Resources struct + Docs []DocRef + Images []ImageRef + Links []LinkRef + Repos []RepoRef + type RotateResult struct + NewExpiry string + OldExpiry string + Scope string + func RotateCredential(dir, scopeName, newExpiry string) (*RotateResult, error) + type SplitPlan struct + SubTasks []SubTask + type SplitResult struct + Directory string + ID string + Index int + Title string + func Split(srcDir string, plan *SplitPlan) ([]SplitResult, error) + type SubTask struct + Constraints []string + Files []string + Skills []string + Summary string + Title string + type Tags struct + Custom map[string]interface{} + DataSources []string + Domains []string + SkillsRequired []string + type Task struct + EstimatedEffort string + Priority string + Summary string + Title string + type ValidationResult struct + Errors []string + Warnings []string + func Validate(manifest *Manifest) *ValidationResult + func (v *ValidationResult) IsValid() bool