@phoenix-wing/code-core 0.4.1 → 0.4.2

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/README.md CHANGED
@@ -5,10 +5,12 @@ Phoenix Code 可跨宿主复用的纯 TypeScript 算法与数据契约。包内
5
5
  当前公共能力包括:
6
6
 
7
7
  - C++ 实现文件与头文件成员排序、锁定区保护;
8
- - UUID 识别、格式保持、替换计划与纯文本 apply;
8
+ - UUID/GUID/CAA GUID 识别、花括号/大小写/布局保持、替换计划与纯文本 apply;
9
9
  - Code Rename 计划与纯文本 apply;
10
- - 工作集 Schema 与安全相对路径校验;
10
+ - 工作集 Schema,以及 workspace 相对路径规范化、去重、文件/目录匹配、包含和 roots 相对化;
11
11
  - CAA 工程环境和对话框 handoff 数据契约;
12
12
  - 跨宿主文件结果分组与排序 ViewModel。
13
13
 
14
14
  `kt-auto-code` 与 Desk Tools 应直接消费本包。旧 `phoenix-wing/code-core` subpath 仅保留兼容 re-export,不再持有算法真源。
15
+
16
+ `@phoenix-wing/code-core/fixtures/pure-capabilities-v1.json` 是 UUID 与 workspace path 的跨宿主 golden。其 SHA-256 为 `1d894c5ccffb8d8840c2fcf8a032ed34c79e7c5d2e44ad95fe1bf84665b32e8c`;消费者应比较字节与行为,不复制正则、格式器或路径包含算法。
package/dist/index.d.ts CHANGED
@@ -6,5 +6,6 @@ export { type PnwUuidPlanApplyResult, type PnwUuidPlanFile, type PnwUuidReplacem
6
6
  export { type PnwCaaDialogHandoff, type PnwCaaDialogHandoffFile, pnwIsCaaDialogHandoff, } from "./pnwCaaDialogHandoff.js";
7
7
  export { type PnwCodeRenameChange, type PnwCodeRenameEntry, type PnwCodeRenameLevel, type PnwCodeRenameOptions, type PnwCodeRenamePlan, pnwApplyCodeRenameText, pnwPlanCodeRename, } from "./pnwCodeRenamePlan.js";
8
8
  export { type PnwWorkset, type PnwWorksetDocument, type PnwWorksetParseResult, pnwIsSafeWorkspacePath, pnwParseWorksetDocument, } from "./pnwWorkset.js";
9
+ export { type PnwWorkspacePathEntry, pnwIsWorkspacePathWithin, pnwMatchesWorkspacePath, pnwNormalizeWorkspacePath, pnwNormalizeWorkspacePaths, pnwRelativeToWorkspaceRoots, } from "./pnwWorkspacePath.js";
9
10
  export { type PnwCaaEnvironment, type PnwCaaEnvironmentKey, type PnwCaaEnvironmentSource, type PnwCaaEnvironmentValue, pnwResolveCaaEnvironment, } from "./pnwCaaEnvironment.js";
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,8BAA8B,EAC9B,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,wBAAwB,GACzB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,mBAAmB,EACxB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,8BAA8B,EAC9B,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,0BAA0B,EAC/B,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,KAAK,qBAAqB,EAC1B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,wBAAwB,GACzB,MAAM,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -6,5 +6,6 @@ export { pnwApplyUuidReplacementPlan, pnwPlanUuidReplacements, } from "./pnwUuid
6
6
  export { pnwIsCaaDialogHandoff, } from "./pnwCaaDialogHandoff.js";
7
7
  export { pnwApplyCodeRenameText, pnwPlanCodeRename, } from "./pnwCodeRenamePlan.js";
8
8
  export { pnwIsSafeWorkspacePath, pnwParseWorksetDocument, } from "./pnwWorkset.js";
9
+ export { pnwIsWorkspacePathWithin, pnwMatchesWorkspacePath, pnwNormalizeWorkspacePath, pnwNormalizeWorkspacePaths, pnwRelativeToWorkspaceRoots, } from "./pnwWorkspacePath.js";
9
10
  export { pnwResolveCaaEnvironment, } from "./pnwCaaEnvironment.js";
10
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAIL,8BAA8B,EAC9B,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAML,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAIL,sBAAsB,EACtB,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAQL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAGL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAML,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAIL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAKL,wBAAwB,GACzB,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAIL,8BAA8B,EAC9B,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAML,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAIL,sBAAsB,EACtB,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAQL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAGL,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAML,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAIL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAKL,wBAAwB,GACzB,MAAM,wBAAwB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pnwUuid.d.ts","sourceRoot":"","sources":["../src/pnwUuid.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,CAAC;AAaF,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,iBAAiB,EAAE,CAwBjF;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,CAe3G;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKhD;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGtF"}
1
+ {"version":3,"file":"pnwUuid.d.ts","sourceRoot":"","sources":["../src/pnwUuid.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB,CAAC;AAiBF,6FAA6F;AAC7F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,iBAAiB,EAAE,CAwBjF;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,CAe3G;AAED,uEAAuE;AACvE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAKhD;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGtF"}
package/dist/pnwUuid.js CHANGED
@@ -1,4 +1,5 @@
1
- const PNW_STANDARD_UUID_PATTERN = /\b(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|[0-9a-f]{32})\b/gi;
1
+ const PNW_DASHED_UUID_SOURCE = "[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";
2
+ const PNW_STANDARD_UUID_PATTERN = new RegExp(`(?<![0-9a-z_])(?:\\{${PNW_DASHED_UUID_SOURCE}\\}|${PNW_DASHED_UUID_SOURCE}|[0-9a-f]{32})(?![0-9a-z_])`, "gi");
2
3
  const PNW_CAA_BYTE_PATTERN = "0x([0-9a-f]{2})";
3
4
  const PNW_CAA_BYTES_PATTERN = Array.from({ length: 8 }, () => PNW_CAA_BYTE_PATTERN).join("\\s*,\\s*");
4
5
  const PNW_CAA_GUID_SPECS = [
@@ -92,12 +93,13 @@ function pnwFormatUuidLike(template, replacement) {
92
93
  if (caa)
93
94
  return pnwFormatCaaGuid(normalized, caa.style, sourceUsesUppercase, template);
94
95
  const sourceUsesHyphens = template.includes("-");
96
+ const sourceUsesBraces = template.startsWith("{") && template.endsWith("}");
95
97
  let output = sourceUsesHyphens
96
98
  ? `${normalized.slice(0, 8)}-${normalized.slice(8, 12)}-${normalized.slice(12, 16)}-${normalized.slice(16, 20)}-${normalized.slice(20)}`
97
99
  : normalized;
98
100
  if (sourceUsesUppercase)
99
101
  output = output.toUpperCase();
100
- return output;
102
+ return sourceUsesBraces ? `{${output}}` : output;
101
103
  }
102
104
  function pnwFormatCaaGuid(normalized, style, useUppercase, template) {
103
105
  const hex = useUppercase ? normalized.toUpperCase() : normalized;
@@ -1 +1 @@
1
- {"version":3,"file":"pnwUuid.js","sourceRoot":"","sources":["../src/pnwUuid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pnwUuid.js","sourceRoot":"","sources":["../src/pnwUuid.ts"],"names":[],"mappings":"AAmBA,MAAM,sBAAsB,GAAG,8DAA8D,CAAC;AAC9F,MAAM,yBAAyB,GAAG,IAAI,MAAM,CAC1C,uBAAuB,sBAAsB,OAAO,sBAAsB,6BAA6B,EACvG,IAAI,CACL,CAAC;AACF,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAC/C,MAAM,qBAAqB,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACtG,MAAM,kBAAkB,GAA4E;IAClG,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,iFAAiF,GAAG,qBAAqB,GAAG,SAAS,EAAE;IAClJ,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,iFAAiF,GAAG,qBAAqB,GAAG,SAAS,EAAE;IACtJ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,0EAA0E,GAAG,qBAAqB,GAAG,yBAAyB,EAAE;CAC9J,CAAC;AAEF,6FAA6F;AAC7F,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,UAAU,GAAoF,EAAE,CAAC;IACvG,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5H,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAChC,IAAI,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,SAAS;QAChE,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACzH,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAClC,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,SAAS,CAAE,GAAG,CAAC,EAAE,CAAC;IACtG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,yBAAyB,CAAC,IAAY,EAAE,YAA2C;IACjG,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YAAE,SAAS;QACzE,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,UAAU,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACpD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,wBAAwB,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpK,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9F,IAAI,kFAAkF,CAAC,IAAI,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IACnH,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;AAC7C,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC,UAAU,CAAC;IAC/B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC;AAClG,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,wBAAwB,CAAC,QAAgB,EAAE,WAAmB;IAC5E,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;QAAE,OAAO,QAAQ,CAAC;IACrE,OAAO,iBAAiB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACtE,IAAI,KAAK;YAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,4BAA4B,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpG,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,4BAA4B,CAAC,MAAyB;IAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB,EAAE,WAAmB;IAC9D,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,GAAG;QAAE,OAAO,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,QAAQ,CAAC,CAAC;IACvF,MAAM,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,MAAM,GAAG,iBAAiB;QAC5B,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;QACxI,CAAC,CAAC,UAAU,CAAC;IACf,IAAI,mBAAmB;QAAE,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACvD,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,KAAsB,EAAE,YAAqB,EAAE,QAAgB;IAC3G,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC,EAAE,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5B,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7B,IAAI,KAAK,KAAK,YAAY;QAAE,OAAO,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,GAAG,CAAC;IAC9E,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;IAC1E,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC;QACtE,OAAO,KAAK,EAAE,MAAM,MAAM,KAAK,EAAE,MAAM,MAAM,KAAK,EAAE,MAAM,MAAM,IAAI,QAAQ,GAAG,CAAC;IAClF,CAAC;IACD,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,GAAG,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,KAA6C;IAC5F,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACnB,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC/G,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,MAAyB,EAAE,MAAc;IAC7D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9B,OAAO,KAAK,GAAG,KAAK,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,MAAM,CAAE,IAAI,MAAM;YAAE,KAAK,GAAG,MAAM,CAAC;;YACzC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pnwWorkset.d.ts","sourceRoot":"","sources":["../src/pnwWorkset.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AACnG,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAEjJ,wFAAwF;AACxF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAwB3E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAG7D"}
1
+ {"version":3,"file":"pnwWorkset.d.ts","sourceRoot":"","sources":["../src/pnwWorkset.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AACnG,MAAM,MAAM,qBAAqB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAEjJ,wFAAwF;AACxF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,CAwB3E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE7D"}
@@ -1,3 +1,4 @@
1
+ import { pnwNormalizeWorkspacePath } from "./pnwWorkspacePath.js";
1
2
  /** Parses `.phoenix/worksets.json` without touching a workspace or evaluating globs. */
2
3
  export function pnwParseWorksetDocument(text) {
3
4
  let raw;
@@ -42,8 +43,7 @@ export function pnwParseWorksetDocument(text) {
42
43
  return diagnostics.length ? { valid: false, diagnostics } : { valid: true, document: { version: 1, worksets }, diagnostics: [] };
43
44
  }
44
45
  export function pnwIsSafeWorkspacePath(value) {
45
- const normalized = value.replace(/\\/g, "/").replace(/^\.\//, "");
46
- return Boolean(normalized) && !normalized.startsWith("/") && !/^[a-z]:\//i.test(normalized) && !normalized.split("/").includes("..");
46
+ return pnwNormalizeWorkspacePath(value) !== null;
47
47
  }
48
48
  function pnwIsRecord(value) { return typeof value === "object" && value !== null && !Array.isArray(value); }
49
49
  function pnwText(value) { return typeof value === "string" ? value.trim() : ""; }
@@ -1 +1 @@
1
- {"version":3,"file":"pnwWorkset.js","sourceRoot":"","sources":["../src/pnwWorkset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pnwWorkset.js","sourceRoot":"","sources":["../src/pnwWorkset.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export type PnwWorkspacePathEntry = string | {
2
+ readonly path: string;
3
+ readonly type?: "file" | "dir";
4
+ };
5
+ /** Normalizes one concrete workspace-relative path without consulting a filesystem. */
6
+ export declare function pnwNormalizeWorkspacePath(value: string): string | null;
7
+ /** Normalizes and de-duplicates concrete workspace paths while preserving first-seen order. */
8
+ export declare function pnwNormalizeWorkspacePaths(values: readonly string[]): string[];
9
+ /** Returns whether `candidate` is the same path as, or a descendant of, `parent`. */
10
+ export declare function pnwIsWorkspacePathWithin(candidate: string, parent: string): boolean;
11
+ /** Matches concrete file/dir entries used by Desk and host-specific workset adapters. */
12
+ export declare function pnwMatchesWorkspacePath(candidate: string, entries: readonly PnwWorkspacePathEntry[]): boolean;
13
+ /** Resolves a concrete workspace path relative to the most specific matching workset root. */
14
+ export declare function pnwRelativeToWorkspaceRoots(candidate: string, roots: readonly string[]): string | undefined;
15
+ //# sourceMappingURL=pnwWorkspacePath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pnwWorkspacePath.d.ts","sourceRoot":"","sources":["../src/pnwWorkspacePath.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAChC,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAStE;AAED,+FAA+F;AAC/F,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAO9E;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAMnF;AAED,yFAAyF;AACzF,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,qBAAqB,EAAE,GACxC,OAAO,CAWT;AAED,8FAA8F;AAC9F,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,MAAM,GAAG,SAAS,CAapB"}
@@ -0,0 +1,68 @@
1
+ /** Normalizes one concrete workspace-relative path without consulting a filesystem. */
2
+ export function pnwNormalizeWorkspacePath(value) {
3
+ const input = value.trim().replace(/\\/g, "/");
4
+ if (!input || input.startsWith("/") || /^[a-z]:(?:\/|$)/i.test(input))
5
+ return null;
6
+ const segments = input.split("/").filter((segment) => segment.length > 0 && segment !== ".");
7
+ if (segments.includes(".."))
8
+ return null;
9
+ if (segments.length === 0)
10
+ return input.split("/").every((segment) => !segment || segment === ".")
11
+ ? "."
12
+ : null;
13
+ return segments.join("/");
14
+ }
15
+ /** Normalizes and de-duplicates concrete workspace paths while preserving first-seen order. */
16
+ export function pnwNormalizeWorkspacePaths(values) {
17
+ const normalized = new Set();
18
+ for (const value of values) {
19
+ const path = pnwNormalizeWorkspacePath(value);
20
+ if (path)
21
+ normalized.add(path);
22
+ }
23
+ return [...normalized];
24
+ }
25
+ /** Returns whether `candidate` is the same path as, or a descendant of, `parent`. */
26
+ export function pnwIsWorkspacePathWithin(candidate, parent) {
27
+ const normalizedCandidate = pnwNormalizeWorkspacePath(candidate);
28
+ const normalizedParent = pnwNormalizeWorkspacePath(parent);
29
+ if (!normalizedCandidate || !normalizedParent)
30
+ return false;
31
+ if (normalizedParent === ".")
32
+ return true;
33
+ return normalizedCandidate === normalizedParent || normalizedCandidate.startsWith(`${normalizedParent}/`);
34
+ }
35
+ /** Matches concrete file/dir entries used by Desk and host-specific workset adapters. */
36
+ export function pnwMatchesWorkspacePath(candidate, entries) {
37
+ const normalizedCandidate = pnwNormalizeWorkspacePath(candidate);
38
+ if (!normalizedCandidate)
39
+ return false;
40
+ return entries.some((entry) => {
41
+ const path = pnwNormalizeWorkspacePath(typeof entry === "string" ? entry : entry.path);
42
+ if (!path)
43
+ return false;
44
+ const type = typeof entry === "string" ? "file" : entry.type ?? "file";
45
+ return type === "dir"
46
+ ? pnwIsWorkspacePathWithin(normalizedCandidate, path)
47
+ : normalizedCandidate === path;
48
+ });
49
+ }
50
+ /** Resolves a concrete workspace path relative to the most specific matching workset root. */
51
+ export function pnwRelativeToWorkspaceRoots(candidate, roots) {
52
+ const normalizedCandidate = pnwNormalizeWorkspacePath(candidate);
53
+ if (!normalizedCandidate)
54
+ return undefined;
55
+ const candidates = pnwNormalizeWorkspacePaths(roots)
56
+ .sort((left, right) => right.length - left.length);
57
+ for (const root of candidates) {
58
+ if (root === ".")
59
+ return normalizedCandidate;
60
+ if (normalizedCandidate === root)
61
+ return normalizedCandidate.split("/").pop();
62
+ if (pnwIsWorkspacePathWithin(normalizedCandidate, root)) {
63
+ return normalizedCandidate.slice(root.length + 1);
64
+ }
65
+ }
66
+ return undefined;
67
+ }
68
+ //# sourceMappingURL=pnwWorkspacePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pnwWorkspacePath.js","sourceRoot":"","sources":["../src/pnwWorkspacePath.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phoenix-wing/code-core",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Phoenix Code 跨宿主纯 TypeScript 算法与契约",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -0,0 +1,74 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "uuid": {
4
+ "scan": {
5
+ "text": "braced={12345678-1234-1234-1234-1234567890AB}\ncompact=123456781234123412341234567890ab\n",
6
+ "expected": [
7
+ {
8
+ "value": "{12345678-1234-1234-1234-1234567890AB}",
9
+ "normalized": "123456781234123412341234567890ab",
10
+ "kind": "uuid",
11
+ "offset": 7,
12
+ "line": 1,
13
+ "column": 8
14
+ },
15
+ {
16
+ "value": "123456781234123412341234567890ab",
17
+ "normalized": "123456781234123412341234567890ab",
18
+ "kind": "guid32",
19
+ "offset": 54,
20
+ "line": 2,
21
+ "column": 9
22
+ }
23
+ ]
24
+ },
25
+ "formatCases": [
26
+ {
27
+ "source": "{12345678-1234-1234-1234-1234567890AB}",
28
+ "replacement": "abcdefab-cdef-4abc-8def-abcdefabcdef",
29
+ "expected": "{ABCDEFAB-CDEF-4ABC-8DEF-ABCDEFABCDEF}"
30
+ },
31
+ {
32
+ "source": "0x12345678, 0x1234, 0x1234, {0x12, 0x34, 0x56, 0x78, 0x90, 0xab, 0xcd, 0xef}",
33
+ "replacement": "abcdefab-cdef-4abc-8def-abcdefabcdef",
34
+ "expected": "0xabcdefab, 0xcdef, 0x4abc, {0x8d, 0xef, 0xab, 0xcd, 0xef, 0xab, 0xcd, 0xef}"
35
+ }
36
+ ]
37
+ },
38
+ "workspacePath": {
39
+ "normalizeCases": [
40
+ { "input": " ./src\\module//a.cpp/ ", "expected": "src/module/a.cpp" },
41
+ { "input": ".", "expected": "." },
42
+ { "input": "src/../outside.cpp", "expected": null },
43
+ { "input": "C:/outside.cpp", "expected": null }
44
+ ],
45
+ "matchCases": [
46
+ {
47
+ "candidate": "src/module/main.cpp",
48
+ "entries": [{ "path": "src/module", "type": "dir" }],
49
+ "expected": true
50
+ },
51
+ {
52
+ "candidate": "src/module-other/main.cpp",
53
+ "entries": [{ "path": "src/module", "type": "dir" }],
54
+ "expected": false
55
+ },
56
+ {
57
+ "candidate": "docs/README.md",
58
+ "entries": ["README.md"],
59
+ "expected": false
60
+ }
61
+ ],
62
+ "relativeCases": [
63
+ {
64
+ "candidate": "src/module/main.cpp",
65
+ "roots": [".", "src/module"],
66
+ "expected": "main.cpp"
67
+ },
68
+ {
69
+ "candidate": "src/other.cpp",
70
+ "roots": ["src/module"]
71
+ }
72
+ ]
73
+ }
74
+ }
package/src/index.ts CHANGED
@@ -69,6 +69,15 @@ export {
69
69
  pnwParseWorksetDocument,
70
70
  } from "./pnwWorkset.js";
71
71
 
72
+ export {
73
+ type PnwWorkspacePathEntry,
74
+ pnwIsWorkspacePathWithin,
75
+ pnwMatchesWorkspacePath,
76
+ pnwNormalizeWorkspacePath,
77
+ pnwNormalizeWorkspacePaths,
78
+ pnwRelativeToWorkspaceRoots,
79
+ } from "./pnwWorkspacePath.js";
80
+
72
81
  export {
73
82
  type PnwCaaEnvironment,
74
83
  type PnwCaaEnvironmentKey,