faf-cli 7.13.1 → 7.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,9 +2,11 @@ import type { FafData } from '../core/types.js';
2
2
  import { type RenderedResult } from '../core/render-hash.js';
3
3
  import { type ServerCardOptions } from './servercard.js';
4
4
  /** A2A extension URI — dereference, not the MCP `_meta` key `one.faf/context`. */
5
- export declare const A2A_CONTEXT_URI = "https://faf.one/context";
5
+ export declare const A2A_CONTEXT_URI = "https://faf.one/ext/context/v1";
6
6
  export declare const A2A_PROTOCOL_BINDING = "JSONRPC";
7
7
  export declare const A2A_PROTOCOL_VERSION = "1.0";
8
+ /** The three FAF-family media types the extension advertises, in family order. */
9
+ export declare const FAF_MEDIA_TYPES: readonly ["application/vnd.faf+yaml", "application/vnd.fafm+yaml", "application/vnd.fafa+yaml"];
8
10
  export type CardTarget = 'a2a' | 'mcp' | 'registry' | 'catalog';
9
11
  export declare const CARD_TARGETS: CardTarget[];
10
12
  export interface FafaAgent {
@@ -20,6 +22,8 @@ export interface FafaCapability {
20
22
  name?: string;
21
23
  description?: string;
22
24
  tags?: unknown;
25
+ /** MIME type this capability reads, when it's one of the FAF family — drives the skill's `inputModes` and the card's `defaultInputModes`. */
26
+ cites_spec?: string;
23
27
  }
24
28
  export interface FafaEndpoint {
25
29
  protocol?: string;
@@ -28,6 +32,8 @@ export interface FafaEndpoint {
28
32
  version?: string;
29
33
  }
30
34
  export interface FafaDoc {
35
+ /** `.fafa` spec version this document is authored against, e.g. `"1.0"` — not `agent.version`. */
36
+ version?: string;
31
37
  agent?: FafaAgent;
32
38
  capabilities?: FafaCapability[];
33
39
  endpoints?: FafaEndpoint[];
@@ -51,7 +57,8 @@ export interface ProjectedA2A {
51
57
  protocolBinding: string;
52
58
  protocolVersion: string;
53
59
  }>;
54
- provider: {
60
+ /** Omitted entirely when `agent.vendor` or `agent.homepage` is absent — A2A optional, never a guessed org name. */
61
+ provider?: {
55
62
  organization: string;
56
63
  url: string;
57
64
  };
@@ -74,6 +81,7 @@ export interface ProjectedA2A {
74
81
  name: string;
75
82
  description: string;
76
83
  tags: string[];
84
+ inputModes?: string[];
77
85
  }>;
78
86
  }
79
87
  export interface CatalogEntry {
@@ -136,7 +144,14 @@ export declare function projectCards(input: {
136
144
  targets?: CardTarget[];
137
145
  opts?: ProjectCardsOptions;
138
146
  }): ProjectedCards;
139
- /** Byte-identical context block on every emitted door. */
147
+ /**
148
+ * Same underlying context on every emitted door. MCP and registry carry
149
+ * {@link fafContextBlock} byte-identically. A2A's extension params are a
150
+ * deliberate, richer superset (agentId, passport, mediaTypes — see
151
+ * {@link fafaExtensionParams}), so the check there is narrower: its nested
152
+ * `provenance.faf` / `provenance.mediaType` must match the same block's
153
+ * `faf` / `mediaType` — the same pointer, not a byte-identical payload.
154
+ */
140
155
  export declare function assertSameBlock(cards: ProjectedCards): void;
141
156
  /** True when `bytes` are an A2A Agent Card faf wrote: JSON whose
142
157
  * `capabilities.extensions` carry the FAF context extension
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "faf-cli",
3
- "version": "7.13.1",
3
+ "version": "7.14.0",
4
4
  "description": "Persistent AI context + memory — .faf and .fafm, IANA-registered. Anthropic-merged.",
5
5
  "type": "module",
6
6
  "icon": "https://faf.one/orange-smiley.svg",
package/project.faf CHANGED
@@ -1,8 +1,8 @@
1
1
  faf_version: "3.0"
2
2
  project:
3
3
  name: faf-cli
4
- version: "7.13.1"
5
- goal: "CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v7.13.1 The Co-Author Edition."
4
+ version: "7.14.0"
5
+ goal: "CLI for IANA-registered `.faf` + `.fafm` — context DNA and portable agent memory. TypeScript, Bun-native since v6. package faf-cli v7.14.0 The Passport Edition."
6
6
  main_language: TypeScript
7
7
  type: cli # found: package.json bin
8
8
  # Commands + key_files feed `faf export --agents` (hand values win over detection).
@@ -58,7 +58,7 @@ human_context:
58
58
  what: Persistent AI Context Standard — project DNA for AI. IANA-registered. Anthropic-merged.
59
59
  why: Eliminates 91% context re-discovery tax — define once, AI remembers forever
60
60
  where: npm registry, Homebrew, GitHub
61
- when: Production since September 2025; Bun-native since v6; current package 7.13.1
61
+ when: Production since September 2025; Bun-native since v6; current package 7.14.0
62
62
  how: bunx faf-cli auto, then project.faf versions with your code — faf show renders it human-visible
63
63
  monorepo:
64
64
  packages_count: slotignored