Docs FPK Format

FPK Format

An FPK (FaynOS Package) is a JSON file containing the agent's definition, engine code, and metadata. It may be plain JSON or gzip-compressed JSON. The file extension is .fpk.

Complete schema

{
  "fpk_version":         "1",              // required
  "entity_type":         "AGENT",          // required: AGENT | TEAM | PROCESS
  "handle":              "my-agent",       // required: ^[a-z0-9_-]{2,64}$
  "name":                "My Agent",       // required
  "version":             "1.0.0",          // required: semver
  "engine_type":         "JS",             // required: JS | PROMPT | HUMAN
  "capability_profile":  "STANDARD",       // RESTRICTED | STANDARD | ELEVATED
  "capability_tags":     ["vault:read"],   // array of strings, max 20
  "category":            "productivity",   // see categories list
  "description":         "What it does",  // shown on store listing
  "changelog":           "v1.0.0 ...",    // version history
  "min_faynos_version":  "0.1.0",         // minimum app version required

  // JS agent — one of engine_js or engine_prompt required
  "engine_js":           "export default { async run(input, ctx) { ... } }",
  "engine_checksum":     "sha256hex...",   // SHA-256 of engine_js

  // PROMPT agent
  "engine_prompt":       "Summarise: {{text}}",

  // Parameters schema
  "parameters": [
    {
      "name":     "text",
      "type":     "string",    // string | integer | number | boolean | array | object
      "required": true,
      "default":  null
    }
  ],

  // Vault keys required (user must have these in their Vault)
  "vault_keys": ["OPENAI_API_KEY"],

  // Team-only: member roster
  "members": [
    { "handle": "agent-a", "role": "search" }
  ],

  // Process-only: step graph
  "steps": [ ... ]
}

Field reference

FieldRequiredTypeNotes
fpk_versionrequiredstringAlways "1" for now
entity_typerequiredstringAGENT, TEAM, or PROCESS
handlerequiredstringLowercase, 2–64 chars, [a-z0-9_-]
namerequiredstringDisplay name, max 128 chars
versionrequiredstringSemver, e.g. 1.0.0
engine_typerequiredstringJS, PROMPT, or HUMAN
engine_jsif JSstringES module source, max 512 KB
engine_checksumrecommendedstringSHA-256 hex of engine_js
capability_profileoptionalstringDefault: STANDARD
capability_tagsoptionalstring[]Max 20 tags
vault_keysoptionalstring[]Secret names agent will access
parametersoptionalobject[]Input schema, max 50 parameters

Categories

productivity · coding · research · writing · data · communication · automation · finance · creative · utilities