@pulsemcp/air-core 0.1.0 → 0.1.1

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.
package/dist/index.d.ts CHANGED
@@ -4,6 +4,8 @@ export { loadAirConfig, getDefaultAirJsonPath, getAirJsonPath, resolveArtifacts,
4
4
  export type { ResolveOptions } from "./config.js";
5
5
  export { LOCAL_SCOPE, isQualified, qualifyId, parseQualifiedId, validateScope, deriveScope, buildShortnameIndex, lookupArtifactId, resolveReference, } from "./scope.js";
6
6
  export type { QualifiedId, ReferenceResolution } from "./scope.js";
7
+ export { stripScopes, ShortnameCollisionError } from "./strip-scopes.js";
8
+ export type { ShortnameCollision } from "./strip-scopes.js";
7
9
  export { validateJson } from "./validator.js";
8
10
  export type { ValidationResult, ValidationError } from "./validator.js";
9
11
  export { getSchemasDir, getSchemaPath, loadSchema, detectSchemaType, detectSchemaFromValue, getAllSchemaTypes, isValidSchemaType, } from "./schemas.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,QAAQ,EACR,iBAAiB,EACjB,YAAY,GACb,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,SAAS,EACT,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AACzE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGxE,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,QAAQ,EACR,iBAAiB,EACjB,YAAY,GACb,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -2,6 +2,8 @@
2
2
  export { loadAirConfig, getDefaultAirJsonPath, getAirJsonPath, resolveArtifacts, mergeArtifacts, expandPlugins, emptyArtifacts, configureProviders, } from "./config.js";
3
3
  // Scoped identity helpers
4
4
  export { LOCAL_SCOPE, isQualified, qualifyId, parseQualifiedId, validateScope, deriveScope, buildShortnameIndex, lookupArtifactId, resolveReference, } from "./scope.js";
5
+ // Scope stripping (powers `air resolve --no-scope`)
6
+ export { stripScopes, ShortnameCollisionError } from "./strip-scopes.js";
5
7
  // Validation
6
8
  export { validateJson } from "./validator.js";
7
9
  // Schemas
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqCA,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,0BAA0B;AAC1B,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,UAAU;AACV,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAqCA,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,0BAA0B;AAC1B,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,oDAAoD;AACpD,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,aAAa;AACb,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,UAAU;AACV,OAAO,EACL,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAGtB,+DAA+D;AAC/D,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,eAAe,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Transform a fully-qualified `ResolvedArtifacts` (keys of the form
3
+ * `@scope/id`) into a shortname-keyed equivalent. Reference fields inside
4
+ * entries (e.g. `default_skills`, `mcp_servers`, `references`) are also
5
+ * rewritten to bare shortnames.
6
+ *
7
+ * This is the machinery behind `air resolve --no-scope` — an opt-in
8
+ * convenience for consumers committed to a single-scope universe. The
9
+ * transformation hard-fails (via {@link ShortnameCollisionError}) when any
10
+ * shortname is contributed by more than one scope within the same artifact
11
+ * category, so the caller never silently picks a winner.
12
+ */
13
+ import type { ResolvedArtifacts } from "./types.js";
14
+ import { type QualifiedId } from "./scope.js";
15
+ /** A single category × shortname collision detected by {@link stripScopes}. */
16
+ export interface ShortnameCollision {
17
+ category: keyof ResolvedArtifacts;
18
+ shortname: string;
19
+ qualifiedIds: QualifiedId[];
20
+ }
21
+ /**
22
+ * Thrown by {@link stripScopes} when one or more shortnames are contributed
23
+ * by more than one scope within the same artifact category.
24
+ */
25
+ export declare class ShortnameCollisionError extends Error {
26
+ readonly collisions: ShortnameCollision[];
27
+ constructor(collisions: ShortnameCollision[]);
28
+ }
29
+ /**
30
+ * Convert a `ResolvedArtifacts` whose keys are qualified IDs into the
31
+ * equivalent shortname-keyed shape. The result is a new object; the input
32
+ * is not mutated.
33
+ *
34
+ * @throws {@link ShortnameCollisionError} when any shortname is contributed
35
+ * by more than one scope within the same artifact category.
36
+ */
37
+ export declare function stripScopes(artifacts: ResolvedArtifacts): ResolvedArtifacts;
38
+ //# sourceMappingURL=strip-scopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip-scopes.d.ts","sourceRoot":"","sources":["../src/strip-scopes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAKV,iBAAiB,EAGlB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAiC,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE7E,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,iBAAiB,CAAC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE,CAAC;gBAE9B,UAAU,EAAE,kBAAkB,EAAE;CAK7C;AAgED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,iBAAiB,GAAG,iBAAiB,CA4D3E"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Transform a fully-qualified `ResolvedArtifacts` (keys of the form
3
+ * `@scope/id`) into a shortname-keyed equivalent. Reference fields inside
4
+ * entries (e.g. `default_skills`, `mcp_servers`, `references`) are also
5
+ * rewritten to bare shortnames.
6
+ *
7
+ * This is the machinery behind `air resolve --no-scope` — an opt-in
8
+ * convenience for consumers committed to a single-scope universe. The
9
+ * transformation hard-fails (via {@link ShortnameCollisionError}) when any
10
+ * shortname is contributed by more than one scope within the same artifact
11
+ * category, so the caller never silently picks a winner.
12
+ */
13
+ import { isQualified, parseQualifiedId } from "./scope.js";
14
+ /**
15
+ * Thrown by {@link stripScopes} when one or more shortnames are contributed
16
+ * by more than one scope within the same artifact category.
17
+ */
18
+ export class ShortnameCollisionError extends Error {
19
+ collisions;
20
+ constructor(collisions) {
21
+ super(formatCollisionMessage(collisions));
22
+ this.name = "ShortnameCollisionError";
23
+ this.collisions = collisions;
24
+ }
25
+ }
26
+ function formatCollisionMessage(collisions) {
27
+ const lines = [
28
+ "--no-scope requires unique shortnames across all scopes, but",
29
+ ];
30
+ for (const c of collisions) {
31
+ lines.push(` shortname "${c.shortname}" maps to multiple qualified IDs:`);
32
+ for (const q of c.qualifiedIds) {
33
+ lines.push(` - ${q}`);
34
+ }
35
+ }
36
+ lines.push(" Either use the default qualified output, or exclude one of them", " via air.json#exclude.");
37
+ return lines.join("\n");
38
+ }
39
+ function stripIfQualified(ref) {
40
+ return isQualified(ref) ? parseQualifiedId(ref).id : ref;
41
+ }
42
+ function stripList(refs) {
43
+ return refs?.map(stripIfQualified);
44
+ }
45
+ function shortnameKey(qualified) {
46
+ return isQualified(qualified) ? parseQualifiedId(qualified).id : qualified;
47
+ }
48
+ function detectCollisions(artifacts) {
49
+ const collisions = [];
50
+ const categories = Object.keys(artifacts);
51
+ for (const category of categories) {
52
+ const pool = artifacts[category];
53
+ const byShortname = new Map();
54
+ for (const qualified of Object.keys(pool)) {
55
+ if (!isQualified(qualified))
56
+ continue;
57
+ const { id } = parseQualifiedId(qualified);
58
+ const list = byShortname.get(id);
59
+ if (list) {
60
+ list.push(qualified);
61
+ }
62
+ else {
63
+ byShortname.set(id, [qualified]);
64
+ }
65
+ }
66
+ for (const [shortname, qualifiedIds] of byShortname) {
67
+ if (qualifiedIds.length > 1) {
68
+ collisions.push({
69
+ category,
70
+ shortname,
71
+ qualifiedIds: [...qualifiedIds].sort(),
72
+ });
73
+ }
74
+ }
75
+ }
76
+ return collisions;
77
+ }
78
+ /**
79
+ * Convert a `ResolvedArtifacts` whose keys are qualified IDs into the
80
+ * equivalent shortname-keyed shape. The result is a new object; the input
81
+ * is not mutated.
82
+ *
83
+ * @throws {@link ShortnameCollisionError} when any shortname is contributed
84
+ * by more than one scope within the same artifact category.
85
+ */
86
+ export function stripScopes(artifacts) {
87
+ const collisions = detectCollisions(artifacts);
88
+ if (collisions.length > 0) {
89
+ throw new ShortnameCollisionError(collisions);
90
+ }
91
+ const skills = {};
92
+ for (const [qualified, entry] of Object.entries(artifacts.skills)) {
93
+ skills[shortnameKey(qualified)] =
94
+ entry.references === undefined
95
+ ? entry
96
+ : { ...entry, references: stripList(entry.references) };
97
+ }
98
+ const references = {};
99
+ for (const [qualified, entry] of Object.entries(artifacts.references)) {
100
+ references[shortnameKey(qualified)] = entry;
101
+ }
102
+ const mcp = {};
103
+ for (const [qualified, entry] of Object.entries(artifacts.mcp)) {
104
+ mcp[shortnameKey(qualified)] = entry;
105
+ }
106
+ const plugins = {};
107
+ for (const [qualified, entry] of Object.entries(artifacts.plugins)) {
108
+ const next = { ...entry };
109
+ if (entry.skills !== undefined)
110
+ next.skills = stripList(entry.skills);
111
+ if (entry.mcp_servers !== undefined)
112
+ next.mcp_servers = stripList(entry.mcp_servers);
113
+ if (entry.hooks !== undefined)
114
+ next.hooks = stripList(entry.hooks);
115
+ if (entry.plugins !== undefined)
116
+ next.plugins = stripList(entry.plugins);
117
+ plugins[shortnameKey(qualified)] = next;
118
+ }
119
+ const roots = {};
120
+ for (const [qualified, entry] of Object.entries(artifacts.roots)) {
121
+ const next = { ...entry };
122
+ if (entry.default_mcp_servers !== undefined)
123
+ next.default_mcp_servers = stripList(entry.default_mcp_servers);
124
+ if (entry.default_skills !== undefined)
125
+ next.default_skills = stripList(entry.default_skills);
126
+ if (entry.default_plugins !== undefined)
127
+ next.default_plugins = stripList(entry.default_plugins);
128
+ if (entry.default_hooks !== undefined)
129
+ next.default_hooks = stripList(entry.default_hooks);
130
+ if (entry.default_subagent_roots !== undefined)
131
+ next.default_subagent_roots = stripList(entry.default_subagent_roots);
132
+ roots[shortnameKey(qualified)] = next;
133
+ }
134
+ const hooks = {};
135
+ for (const [qualified, entry] of Object.entries(artifacts.hooks)) {
136
+ hooks[shortnameKey(qualified)] =
137
+ entry.references === undefined
138
+ ? entry
139
+ : { ...entry, references: stripList(entry.references) };
140
+ }
141
+ return { skills, references, mcp, plugins, roots, hooks };
142
+ }
143
+ //# sourceMappingURL=strip-scopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip-scopes.js","sourceRoot":"","sources":["../src/strip-scopes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAoB,MAAM,YAAY,CAAC;AAS7E;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IACvC,UAAU,CAAuB;IAE1C,YAAY,UAAgC;QAC1C,KAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF;AAED,SAAS,sBAAsB,CAAC,UAAgC;IAC9D,MAAM,KAAK,GAAa;QACtB,8DAA8D;KAC/D,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CACR,gBAAgB,CAAC,CAAC,SAAS,mCAAmC,CAC/D,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CACR,mEAAmE,EACnE,yBAAyB,CAC1B,CAAC;IACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AAC3D,CAAC;AAED,SAAS,SAAS,CAAC,IAA0B;IAC3C,OAAO,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,SAAiB;IACrC,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,SAAS,gBAAgB,CACvB,SAA4B;IAE5B,MAAM,UAAU,GAAyB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAgC,CAAC;IACzE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;QACrD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;gBAAE,SAAS;YACtC,MAAM,EAAE,EAAE,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,WAAW,EAAE,CAAC;YACpD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC;oBACd,QAAQ;oBACR,SAAS;oBACT,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE;iBACvC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,SAA4B;IACtD,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC7B,KAAK,CAAC,UAAU,KAAK,SAAS;gBAC5B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,UAAU,GAAmC,EAAE,CAAC;IACtD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACtE,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;IAC9C,CAAC;IAED,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,GAAgB,EAAE,GAAG,KAAK,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;YACjC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAc,EAAE,GAAG,KAAK,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS;YACzC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAClE,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;YACpC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,KAAK,CAAC,eAAe,KAAK,SAAS;YACrC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;YACnC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,sBAAsB,KAAK,SAAS;YAC5C,IAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACxE,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC;IACxC,CAAC;IAED,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACjE,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC5B,KAAK,CAAC,UAAU,KAAK,SAAS;gBAC5B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;IAC9D,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC5D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulsemcp/air-core",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },