@pulsemcp/air-core 0.0.42 → 0.1.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,7 +2,7 @@
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
3
  "$id": "https://raw.githubusercontent.com/pulsemcp/air/main/schemas/air.schema.json",
4
4
  "title": "AIR Configuration",
5
- "description": "Root configuration file for the AIR framework. Points to artifact index files that define skills, MCP servers, plugins, roots, hooks, and references. Each artifact property is an array of pathsfiles are loaded and merged in order, with later entries overriding earlier ones by ID.",
5
+ "description": "Root configuration file for the AIR framework. Points to artifact catalogs and per-type index files. Every resolved artifact is canonically addressed as `@scope/id`: catalog providers supply scope (e.g. the GitHub provider returns `owner/repo`); local catalogs and per-type arrays use scope `local`. Composition is union-only there is no override or field-level patching. Use the `exclude` array to drop specific qualified IDs from the resolved set.",
6
6
  "type": "object",
7
7
  "properties": {
8
8
  "$schema": {
@@ -29,37 +29,42 @@
29
29
  "catalogs": {
30
30
  "type": "array",
31
31
  "items": { "type": "string" },
32
- "description": "Paths or URIs to artifact catalogs. A catalog is a directory that follows the standard layout each of {skills,references,mcp,plugins,roots,hooks}/<name>.json in its root. Catalogs expand into all six artifact arrays in order; missing files are silently skipped. Later catalogs override earlier ones by ID; the per-type artifact arrays layer on top of catalogs."
32
+ "description": "Paths or URIs to artifact catalogs. AIR walks each catalog up to 3 directory levels deep and discovers artifact index files (skills, references, mcp, plugins, roots, hooks) by filename or `$schema`. Every artifact discovered in a catalog is qualified `@scope/id`, where scope is supplied by the catalog provider (e.g. `owner/repo` for github://) or `local` for filesystem catalogs. Composition is union-only duplicate qualified IDs across catalogs are an error; same shortname under different scopes is allowed and reported as a warning."
33
+ },
34
+ "exclude": {
35
+ "type": "array",
36
+ "items": { "type": "string", "pattern": "^@[a-zA-Z0-9._\\-/]+/[^/]+$" },
37
+ "description": "Qualified IDs (`@scope/id`) to drop from the resolved artifact set. This is the only composition control AIR offers — there is no override or field-level patching. Entries that do not match a resolved artifact surface as warnings."
33
38
  },
34
39
  "skills": {
35
40
  "type": "array",
36
41
  "items": { "type": "string" },
37
- "description": "Paths to skills index files. Merged in order later entries override earlier ones by ID."
42
+ "description": "Paths to local skill index files. Entries are qualified under scope `local` and unioned with catalog-discovered artifacts."
38
43
  },
39
44
  "references": {
40
45
  "type": "array",
41
46
  "items": { "type": "string" },
42
- "description": "Paths to references index files. Merged in order later entries override earlier ones by ID."
47
+ "description": "Paths to local reference index files. Entries are qualified under scope `local` and unioned with catalog-discovered artifacts."
43
48
  },
44
49
  "mcp": {
45
50
  "type": "array",
46
51
  "items": { "type": "string" },
47
- "description": "Paths to MCP server configuration files. Merged in order later entries override earlier ones by ID."
52
+ "description": "Paths to local MCP server index files. Entries are qualified under scope `local` and unioned with catalog-discovered artifacts."
48
53
  },
49
54
  "plugins": {
50
55
  "type": "array",
51
56
  "items": { "type": "string" },
52
- "description": "Paths to plugins index files. Merged in order later entries override earlier ones by ID."
57
+ "description": "Paths to local plugin index files. Entries are qualified under scope `local` and unioned with catalog-discovered artifacts."
53
58
  },
54
59
  "roots": {
55
60
  "type": "array",
56
61
  "items": { "type": "string" },
57
- "description": "Paths to roots index files. Merged in order later entries override earlier ones by ID."
62
+ "description": "Paths to local root index files. Entries are qualified under scope `local` and unioned with catalog-discovered artifacts."
58
63
  },
59
64
  "hooks": {
60
65
  "type": "array",
61
66
  "items": { "type": "string" },
62
- "description": "Paths to hooks index files. Merged in order later entries override earlier ones by ID."
67
+ "description": "Paths to local hook index files. Entries are qualified under scope `local` and unioned with catalog-discovered artifacts."
63
68
  },
64
69
  "gitProtocol": {
65
70
  "type": "string",