@skill-map/cli 0.42.0 → 0.43.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.
@@ -3783,34 +3783,28 @@ declare function applyExportQuery(scan: {
3783
3783
  }, query: IExportQuery): IExportSubset;
3784
3784
 
3785
3785
  /**
3786
- * `scan_node_tags` adapter, tags · dual-source persistence layer.
3786
+ * `scan_node_tags` adapter, tags · single-source persistence layer.
3787
3787
  *
3788
- * One row per `(node_path, tag, source)` triple. Projected at persist
3789
- * time from BOTH `frontmatter.tags` (with `source='author'`) and
3790
- * `sidecar.annotations.tags` (with `source='user'`). The same tag
3791
- * string MAY appear under both sources for the same node, the PK
3792
- * accepts the pair; search returns the node once via DISTINCT, the
3793
- * UI renders both chips with their attribution.
3788
+ * One row per `(node_path, tag)` pair. Projected at persist time from
3789
+ * the node's `sidecar.annotations.tags` (the only tag source).
3794
3790
  *
3795
3791
  * Belongs to the `scan_*` family, replaced wholesale per scan.
3796
3792
  * Cached nodes' tag rows are projected from the cached
3797
- * `node.frontmatter.tags` / `node.sidecar.annotations.tags` (both
3798
- * already in memory at persist time), so the rebuild is cheap
3799
- * regardless of cache hit / miss. See `spec/db-schema.md`
3800
- * § scan_node_tags for the normative shape and replace-all semantics.
3793
+ * `node.sidecar.annotations.tags` (already in memory at persist time),
3794
+ * so the rebuild is cheap regardless of cache hit / miss. See
3795
+ * `spec/db-schema.md` § scan_node_tags for the normative shape and
3796
+ * replace-all semantics.
3801
3797
  */
3802
3798
 
3803
3799
  /**
3804
3800
  * In-memory tag record buffered during scan and flushed to
3805
3801
  * `scan_node_tags` by `persistScanResult`. One entry per
3806
- * `(node_path, tag, source)` projected from a node's frontmatter tags
3807
- * (`source: 'author'`) or sidecar annotations tags
3808
- * (`source: 'user'`).
3802
+ * `(node_path, tag)` pair projected from a node's sidecar annotations
3803
+ * tags (`sidecar.annotations.tags`).
3809
3804
  */
3810
3805
  interface ITagRecord {
3811
3806
  nodePath: string;
3812
3807
  tag: string;
3813
- source: 'author' | 'user';
3814
3808
  }
3815
3809
 
3816
3810
  /**
@@ -3993,25 +3987,23 @@ interface StoragePort {
3993
3987
  /**
3994
3988
  * Read-only access to `scan_node_tags`. Writes happen exclusively
3995
3989
  * via `scans.persist({...})` (the persistence layer projects from
3996
- * `node.frontmatter.tags` and `node.sidecar.annotations.tags`); this
3990
+ * `node.sidecar.annotations.tags`, the only tag source); this
3997
3991
  * namespace is read-only.
3998
3992
  */
3999
3993
  tags: {
4000
- /** Every tag row for a single node. Author entries first, then user. */
3994
+ /** Every tag row for a single node, ordered by tag name. */
4001
3995
  listForNode(nodePath: string): Promise<ITagRecord[]>;
4002
3996
  /**
4003
3997
  * Bulk variant for the BFF nodes-list route. Returns rows for every
4004
- * path in `paths`, sorted `nodePath` ASC, then `source` ASC, then
4005
- * `tag` ASC. Empty `paths` returns `[]` without a query.
3998
+ * path in `paths`, sorted `tag` ASC. Empty `paths` returns `[]`
3999
+ * without a query.
4006
4000
  */
4007
4001
  listForPaths(paths: readonly string[]): Promise<ITagRecord[]>;
4008
4002
  /**
4009
- * Find every node carrying `tag`. Optional `source` narrows to one
4010
- * side of the dual surface (matches `sm list --tag <name>
4011
- * --tag-source author|user`); absent matches the union (default
4012
- * `sm list --tag`).
4003
+ * Find every node carrying `tag` in its `.sm` sidecar
4004
+ * (`annotations.tags`). Drives `sm list --tag <name>`.
4013
4005
  */
4014
- findNodes(tag: string, source?: 'author' | 'user'): Promise<string[]>;
4006
+ findNodes(tag: string): Promise<string[]>;
4015
4007
  };
4016
4008
  issues: {
4017
4009
  /** Every issue from the latest scan, in insertion order. */
@@ -101,11 +101,11 @@ import cl100k_base from "js-tiktoken/ranks/cl100k_base";
101
101
  // package.json
102
102
  var package_default = {
103
103
  name: "@skill-map/cli",
104
- version: "0.42.0",
104
+ version: "0.43.0",
105
105
  description: "skill-map reference implementation \u2014 kernel + CLI + adapters.",
106
106
  license: "MIT",
107
107
  type: "module",
108
- homepage: "https://skill-map.dev",
108
+ homepage: "https://skill-map.ai",
109
109
  repository: {
110
110
  type: "git",
111
111
  url: "git+https://github.com/crystian/skill-map.git",
@@ -454,10 +454,10 @@ function buildSchemaValidators() {
454
454
  hook: "extension-hook"
455
455
  };
456
456
  const pluginManifestValidator = ajv.compile({
457
- $ref: "https://skill-map.dev/spec/v0/plugins-registry.schema.json#/$defs/PluginManifest"
457
+ $ref: "https://skill-map.ai/spec/v0/plugins-registry.schema.json#/$defs/PluginManifest"
458
458
  });
459
459
  const contributionValidators = /* @__PURE__ */ new Map();
460
- const VIEW_SLOTS_ID = "https://skill-map.dev/spec/v0/view-slots.schema.json";
460
+ const VIEW_SLOTS_ID = "https://skill-map.ai/spec/v0/view-slots.schema.json";
461
461
  function getContributionValidator(slot) {
462
462
  if (!KNOWN_SLOT_NAMES.has(slot)) return null;
463
463
  const existing = contributionValidators.get(slot);