@alfe.ai/integration-manifest 0.0.2 → 0.0.4

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
@@ -99,6 +99,8 @@ interface IntegrationManifest {
99
99
  config_schema: ConfigSchemaField[];
100
100
  capabilities: string[];
101
101
  hooks: IntegrationHooks;
102
+ /** Git repository URL (HTTPS) — not present in YAML, injected by the publish API */
103
+ repository?: string;
102
104
  /**
103
105
  * Agent runtimes this integration supports.
104
106
  * If omitted or empty, the integration is considered universal (all runtimes).
@@ -316,6 +318,7 @@ declare const IntegrationManifestSchema: z.ZodObject<{
316
318
  post_uninstall: z.ZodOptional<z.ZodString>;
317
319
  health_check: z.ZodOptional<z.ZodString>;
318
320
  }, z.core.$strip>>>;
321
+ repository: z.ZodOptional<z.ZodURL>;
319
322
  supported_agents: z.ZodOptional<z.ZodArray<z.ZodString>>;
320
323
  publisherId: z.ZodOptional<z.ZodString>;
321
324
  icon: z.ZodOptional<z.ZodString>;
@@ -363,8 +366,9 @@ declare class ManifestParseError extends Error {
363
366
  }
364
367
  /**
365
368
  * Parse a raw YAML string into a validated IntegrationManifest.
369
+ * Optional overrides are merged into the parsed YAML before validation.
366
370
  */
367
- declare function parseManifestString(yaml: string): IntegrationManifest;
371
+ declare function parseManifestString(yaml: string, overrides?: Record<string, unknown>): IntegrationManifest;
368
372
  /**
369
373
  * Read and parse an alfe-integration.yaml file from disk.
370
374
  */
package/dist/index.js CHANGED
@@ -122,6 +122,7 @@ const IntegrationManifestSchema = z.object({
122
122
  config_schema: z.array(ConfigSchemaFieldSchema).optional().default([]),
123
123
  capabilities: z.array(z.string()).optional().default([]),
124
124
  hooks: IntegrationHooksSchema.optional().default({}),
125
+ repository: z.url().optional(),
125
126
  supported_agents: z.array(RuntimeKeySchema).optional(),
126
127
  publisherId: z.string().optional(),
127
128
  icon: z.string().optional(),
@@ -196,8 +197,9 @@ var ManifestParseError = class extends Error {
196
197
  };
197
198
  /**
198
199
  * Parse a raw YAML string into a validated IntegrationManifest.
200
+ * Optional overrides are merged into the parsed YAML before validation.
199
201
  */
200
- function parseManifestString(yaml) {
202
+ function parseManifestString(yaml, overrides) {
201
203
  let raw;
202
204
  try {
203
205
  raw = parse(yaml);
@@ -205,7 +207,11 @@ function parseManifestString(yaml) {
205
207
  throw new ManifestParseError(`Invalid YAML: ${err instanceof Error ? err.message : String(err)}`);
206
208
  }
207
209
  if (typeof raw !== "object" || raw === null) throw new ManifestParseError("Manifest must be a YAML object");
208
- const result = IntegrationManifestSchema.safeParse(raw);
210
+ const merged = overrides ? {
211
+ ...raw,
212
+ ...overrides
213
+ } : raw;
214
+ const result = IntegrationManifestSchema.safeParse(merged);
209
215
  if (!result.success) {
210
216
  const issues = result.error.issues.map((i) => ({
211
217
  path: i.path.join("."),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfe.ai/integration-manifest",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "Integration manifest schema, types, and parser for Alfe integration platform",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -12,7 +12,7 @@
12
12
  }
13
13
  },
14
14
  "dependencies": {
15
- "yaml": "^2.7.0",
15
+ "yaml": ">=2.8.3",
16
16
  "zod": "^4.0.5"
17
17
  },
18
18
  "files": [