@wairon/cli 5.0.2-dev.6 → 5.0.2-dev.7

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.js CHANGED
@@ -393,7 +393,7 @@ var init_template = __esm({
393
393
  });
394
394
 
395
395
  // src/models/specs.ts
396
- var import_zod6, SpecIdSchema, SpecStatusSchema, BoundaryItemSchema, RequirementItemSchema, DatabaseSpecSchema, DiagramConfigSchema, SURFACE_AUDIENCES, SurfaceAudienceSchema, SystemPublicInterfaceSchema, SystemSpecSchema, PublicInterfaceTypeSchema, PublicInterfaceSchema, TrustedLinkSchema, LintAllowSchema, LintConfigSchema, ExtDataSchema, LifecycleEntrypointSchema, SubsystemSpecSchema, ComponentTypeSchema, PATTERN_TYPES, PortalTypeSchema, DispatchBindingSchema, DurabilitySchema, PatternRefSchema, EventBindingSchema, ComponentSpecSchema, HttpMethodSchema, TransportSchema, EndpointSchema, SEMANTIC_GUARANTEES, GuaranteeSchema, MethodParamSchema, MethodSignatureSchema, InterfaceSpecSchema, NarrativeStepTypeSchema, LoopKindSchema, SwitchCaseSchema, CatchClauseSchema, ParallelBranchSchema, NarrativeStepSchema, NarrativeDetailSchema, ConformanceTierSchema, MethodImplementationSchema, ImplementationSpecSchema, TypeKindSchema, TypeFieldSchema, TypeMethodSchema, InvariantSchema, TypeSpecSchema, SurfaceOriginSchema, SurfaceTypeDefSchema, SurfaceContractEntrySchema, SurfaceSnapshotSchema, GroupSpecSchema;
396
+ var import_zod6, SpecIdSchema, SpecStatusSchema, BoundaryItemSchema, RequirementItemSchema, DatabaseSpecSchema, DiagramConfigSchema, SURFACE_AUDIENCES, SurfaceAudienceSchema, SystemPublicInterfaceSchema, SystemSpecSchema, PublicInterfaceTypeSchema, PublicInterfaceSchema, TrustedLinkSchema, LintAllowSchema, LintConfigSchema, ExtDataSchema, LifecycleEntrypointSchema, SubsystemSpecSchema, ComponentTypeSchema, PATTERN_TYPES, PortalTypeSchema, DispatchBindingSchema, DurabilitySchema, PatternRefSchema, EventBindingSchema, ExternalLinkTypeSchema, ExternalLinkSchema, ComponentSpecSchema, HttpMethodSchema, TransportSchema, EndpointSchema, SEMANTIC_GUARANTEES, GuaranteeSchema, MethodParamSchema, MethodSignatureSchema, InterfaceSpecSchema, NarrativeStepTypeSchema, LoopKindSchema, SwitchCaseSchema, CatchClauseSchema, ParallelBranchSchema, NarrativeStepSchema, NarrativeDetailSchema, ConformanceTierSchema, MethodImplementationSchema, ImplementationSpecSchema, TypeKindSchema, TypeFieldSchema, TypeMethodSchema, InvariantSchema, TypeSpecSchema, SurfaceOriginSchema, SurfaceTypeDefSchema, SurfaceContractEntrySchema, SurfaceSnapshotSchema, GroupSpecSchema;
397
397
  var init_specs = __esm({
398
398
  "src/models/specs.ts"() {
399
399
  "use strict";
@@ -597,6 +597,13 @@ var init_specs = __esm({
597
597
  event: import_zod6.z.string().optional(),
598
598
  description: import_zod6.z.string().optional()
599
599
  });
600
+ ExternalLinkTypeSchema = import_zod6.z.enum(["implementation", "informative"]);
601
+ ExternalLinkSchema = import_zod6.z.object({
602
+ url: import_zod6.z.string(),
603
+ /** Defaults to 'informative' so an untyped link never silently satisfies the source requirement. */
604
+ type: ExternalLinkTypeSchema.default("informative"),
605
+ label: import_zod6.z.string().optional()
606
+ });
600
607
  ComponentSpecSchema = import_zod6.z.object({
601
608
  id: SpecIdSchema,
602
609
  name: import_zod6.z.string(),
@@ -622,6 +629,11 @@ var init_specs = __esm({
622
629
  patterns: import_zod6.z.array(PatternRefSchema).optional(),
623
630
  /** Optional component variant — a declared, base-anchored specialization of this component's stereotype (resolved against the variant registry; UNKNOWN_VARIANT / VARIANT_BASE_MISMATCH). */
624
631
  variant: import_zod6.z.string().optional(),
632
+ /** Opaque external references (see ExternalLinkSchema) — documented URLs wairon does
633
+ * not fetch or validate. An `implementation` link is the external source-of-record and
634
+ * satisfies the source requirement for a source-less implementation (suppresses
635
+ * MISSING_SOURCE_PATH); `informative` links are context only. */
636
+ externalLinks: import_zod6.z.array(ExternalLinkSchema).optional(),
625
637
  /** Per-spec lint suppressions (see LintConfigSchema). */
626
638
  lint: LintConfigSchema.optional(),
627
639
  /** Opaque pack/tool extension data (see ExtDataSchema) — preserved verbatim. */
@@ -1998,6 +2010,7 @@ function buildCanvasModel(issues = []) {
1998
2010
  ...ownerOf.has(comp.id) ? { owner: ownerOf.get(comp.id) } : {},
1999
2011
  owns: comp.owns.filter((o) => componentIds.has(o)),
2000
2012
  dependsOn: comp.dependsOn,
2013
+ ...comp.externalLinks && comp.externalLinks.length ? { externalLinks: comp.externalLinks } : {},
2001
2014
  interfaces: compInterfaces.map((i) => ({
2002
2015
  id: i.id,
2003
2016
  name: i.name,
@@ -5459,6 +5472,14 @@ var MODEL = __MODEL_JSON__;
5459
5472
  }
5460
5473
  body += '<p class="desc">' + esc(c.description) + '</p>';
5461
5474
 
5475
+ if (c.externalLinks && c.externalLinks.length) {
5476
+ body += section('External links', c.externalLinks.length, c.externalLinks.map(function (l) {
5477
+ var label = l.label || l.url;
5478
+ var tag = l.type === 'implementation' ? staticChip('source') : '';
5479
+ return '<div class="method">' + tag + '<a href="' + esc(l.url) + '" target="_blank" rel="noopener" style="color:var(--accent);word-break:break-all">' + esc(label) + ' \\u2197</a></div>';
5480
+ }).join(''), true);
5481
+ }
5482
+
5462
5483
  var depInner = (c.dependsOn.length ? c.dependsOn.map(function (d) { return chip(d, 'component', d); }).join('') : '<span class="desc">none</span>')
5463
5484
  + (c.owns.length ? '<div style="margin-top:8px"><b style="font-size:11px">Owns:</b><br>' + c.owns.map(function (d) { return chip(d, 'component', d); }).join('') + '</div>' : '');
5464
5485
  body += section('Dependencies', c.dependsOn.length + c.owns.length, depInner, true);
@@ -7829,13 +7850,16 @@ var init_conformance = __esm({
7829
7850
  if (isInChainedSubproject(component.subsystem, ctx)) continue;
7830
7851
  const draft = ctx.isImplementationDraft(impl);
7831
7852
  if (!impl.sourcePath) {
7832
- ctx.addIssue(
7833
- "warning",
7834
- "MISSING_SOURCE_PATH",
7835
- `Implementation "${impl.id}" declares no sourcePath \u2014 its contract "${impl.contract}" cannot be structurally checked against code.`,
7836
- impl.id,
7837
- draft
7838
- );
7853
+ const hasExternalSource = (component.externalLinks ?? []).some((l) => l.type === "implementation");
7854
+ if (!hasExternalSource) {
7855
+ ctx.addIssue(
7856
+ "warning",
7857
+ "MISSING_SOURCE_PATH",
7858
+ `Implementation "${impl.id}" declares no sourcePath \u2014 its contract "${impl.contract}" cannot be structurally checked against code.`,
7859
+ impl.id,
7860
+ draft
7861
+ );
7862
+ }
7839
7863
  continue;
7840
7864
  }
7841
7865
  const lookup = lookups.get(normalizeSourcePath(impl.sourcePath));
@@ -15103,6 +15127,8 @@ __export(src_exports, {
15103
15127
  EndpointSchema: () => EndpointSchema,
15104
15128
  EventBindingSchema: () => EventBindingSchema,
15105
15129
  ExtDataSchema: () => ExtDataSchema,
15130
+ ExternalLinkSchema: () => ExternalLinkSchema,
15131
+ ExternalLinkTypeSchema: () => ExternalLinkTypeSchema,
15106
15132
  GITHUB_REPO: () => GITHUB_REPO,
15107
15133
  GeminiExporter: () => GeminiExporter,
15108
15134
  GroupSpecSchema: () => GroupSpecSchema,
@@ -15387,7 +15413,7 @@ function defaultTargetConfig(type) {
15387
15413
  enabled: true
15388
15414
  };
15389
15415
  }
15390
- var WAIRON_VERSION = "5.0.2-dev.6";
15416
+ var WAIRON_VERSION = "5.0.2-dev.7";
15391
15417
  var GITHUB_REPO = "SYW-Apps/Waffle-AIron";
15392
15418
  var ARCHITECT_AGENT_ID = "agent-architect";
15393
15419
  var ARCHITECT_TEMPLATE_ID = "architect";
@@ -16684,6 +16710,8 @@ init_yaml();
16684
16710
  EndpointSchema,
16685
16711
  EventBindingSchema,
16686
16712
  ExtDataSchema,
16713
+ ExternalLinkSchema,
16714
+ ExternalLinkTypeSchema,
16687
16715
  GITHUB_REPO,
16688
16716
  GeminiExporter,
16689
16717
  GroupSpecSchema,