@matter/testing 0.13.1-alpha.0-20250502-43a54f780 → 0.13.1-alpha.0-20250504-87f265a2e

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.
Files changed (161) hide show
  1. package/bin/test.js +1 -2
  2. package/dist/cjs/chip/chip.d.ts +7 -2
  3. package/dist/cjs/chip/chip.d.ts.map +1 -1
  4. package/dist/cjs/chip/chip.js +20 -15
  5. package/dist/cjs/chip/chip.js.map +1 -1
  6. package/dist/cjs/chip/command-pipe.d.ts +2 -1
  7. package/dist/cjs/chip/command-pipe.d.ts.map +1 -1
  8. package/dist/cjs/chip/command-pipe.js +5 -2
  9. package/dist/cjs/chip/command-pipe.js.map +1 -1
  10. package/dist/cjs/chip/config.d.ts +2 -2
  11. package/dist/cjs/chip/config.d.ts.map +1 -1
  12. package/dist/cjs/chip/config.js +7 -6
  13. package/dist/cjs/chip/config.js.map +1 -1
  14. package/dist/cjs/chip/container-command-pipe.d.ts +2 -1
  15. package/dist/cjs/chip/container-command-pipe.d.ts.map +1 -1
  16. package/dist/cjs/chip/container-command-pipe.js +26 -24
  17. package/dist/cjs/chip/container-command-pipe.js.map +1 -1
  18. package/dist/cjs/chip/index.d.ts +1 -1
  19. package/dist/cjs/chip/index.d.ts.map +1 -1
  20. package/dist/cjs/chip/index.js +1 -1
  21. package/dist/cjs/chip/index.js.map +1 -1
  22. package/dist/cjs/chip/{pics-expression.d.ts → pics/expression.d.ts} +2 -2
  23. package/dist/cjs/chip/pics/expression.d.ts.map +1 -0
  24. package/dist/cjs/chip/{pics-expression.js → pics/expression.js} +6 -6
  25. package/dist/cjs/chip/pics/expression.js.map +6 -0
  26. package/dist/cjs/chip/{pics-file.d.ts → pics/file.d.ts} +10 -5
  27. package/dist/cjs/chip/pics/file.d.ts.map +1 -0
  28. package/dist/cjs/chip/{pics-file.js → pics/file.js} +21 -13
  29. package/dist/cjs/chip/pics/file.js.map +6 -0
  30. package/dist/cjs/chip/pics/index.d.ts +10 -0
  31. package/dist/cjs/chip/pics/index.d.ts.map +1 -0
  32. package/dist/cjs/chip/pics/index.js +27 -0
  33. package/dist/cjs/chip/pics/index.js.map +6 -0
  34. package/dist/cjs/chip/pics/source.d.ts +52 -0
  35. package/dist/cjs/chip/pics/source.d.ts.map +1 -0
  36. package/dist/cjs/chip/pics/source.js +117 -0
  37. package/dist/cjs/chip/pics/source.js.map +6 -0
  38. package/dist/cjs/chip/pics/values.d.ts +9 -0
  39. package/dist/cjs/chip/pics/values.d.ts.map +1 -0
  40. package/dist/cjs/chip/pics/values.js +22 -0
  41. package/dist/cjs/chip/pics/values.js.map +6 -0
  42. package/dist/cjs/chip/python-test.d.ts.map +1 -1
  43. package/dist/cjs/chip/python-test.js +14 -7
  44. package/dist/cjs/chip/python-test.js.map +1 -1
  45. package/dist/cjs/chip/state.d.ts +3 -2
  46. package/dist/cjs/chip/state.d.ts.map +1 -1
  47. package/dist/cjs/chip/state.js +38 -25
  48. package/dist/cjs/chip/state.js.map +1 -1
  49. package/dist/cjs/chip/yaml-test.d.ts +1 -1
  50. package/dist/cjs/chip/yaml-test.d.ts.map +1 -1
  51. package/dist/cjs/chip/yaml-test.js +5 -1
  52. package/dist/cjs/chip/yaml-test.js.map +1 -1
  53. package/dist/cjs/cli.d.ts.map +1 -1
  54. package/dist/cjs/cli.js +18 -3
  55. package/dist/cjs/cli.js.map +2 -2
  56. package/dist/cjs/device/subject.d.ts +4 -0
  57. package/dist/cjs/device/subject.d.ts.map +1 -1
  58. package/dist/cjs/failure-reporter.js +4 -6
  59. package/dist/cjs/failure-reporter.js.map +1 -1
  60. package/dist/cjs/print-report.d.ts +3 -0
  61. package/dist/cjs/print-report.d.ts.map +1 -1
  62. package/dist/cjs/print-report.js +13 -16
  63. package/dist/cjs/print-report.js.map +2 -2
  64. package/dist/cjs/test-descriptor.d.ts +18 -13
  65. package/dist/cjs/test-descriptor.d.ts.map +1 -1
  66. package/dist/cjs/test-descriptor.js +48 -49
  67. package/dist/cjs/test-descriptor.js.map +2 -2
  68. package/dist/esm/chip/chip.d.ts +7 -2
  69. package/dist/esm/chip/chip.d.ts.map +1 -1
  70. package/dist/esm/chip/chip.js +20 -15
  71. package/dist/esm/chip/chip.js.map +1 -1
  72. package/dist/esm/chip/command-pipe.d.ts +2 -1
  73. package/dist/esm/chip/command-pipe.d.ts.map +1 -1
  74. package/dist/esm/chip/command-pipe.js +5 -2
  75. package/dist/esm/chip/command-pipe.js.map +1 -1
  76. package/dist/esm/chip/config.d.ts +2 -2
  77. package/dist/esm/chip/config.d.ts.map +1 -1
  78. package/dist/esm/chip/config.js +7 -6
  79. package/dist/esm/chip/config.js.map +1 -1
  80. package/dist/esm/chip/container-command-pipe.d.ts +2 -1
  81. package/dist/esm/chip/container-command-pipe.d.ts.map +1 -1
  82. package/dist/esm/chip/container-command-pipe.js +26 -24
  83. package/dist/esm/chip/container-command-pipe.js.map +1 -1
  84. package/dist/esm/chip/index.d.ts +1 -1
  85. package/dist/esm/chip/index.d.ts.map +1 -1
  86. package/dist/esm/chip/index.js +1 -1
  87. package/dist/esm/chip/{pics-expression.d.ts → pics/expression.d.ts} +2 -2
  88. package/dist/esm/chip/pics/expression.d.ts.map +1 -0
  89. package/dist/esm/chip/{pics-expression.js → pics/expression.js} +3 -3
  90. package/dist/esm/chip/pics/expression.js.map +6 -0
  91. package/dist/esm/chip/{pics-file.d.ts → pics/file.d.ts} +10 -5
  92. package/dist/esm/chip/pics/file.d.ts.map +1 -0
  93. package/dist/esm/chip/{pics-file.js → pics/file.js} +18 -10
  94. package/dist/esm/chip/pics/file.js.map +6 -0
  95. package/dist/esm/chip/pics/index.d.ts +10 -0
  96. package/dist/esm/chip/pics/index.d.ts.map +1 -0
  97. package/dist/esm/chip/pics/index.js +10 -0
  98. package/dist/esm/chip/pics/index.js.map +6 -0
  99. package/dist/esm/chip/pics/source.d.ts +52 -0
  100. package/dist/esm/chip/pics/source.d.ts.map +1 -0
  101. package/dist/esm/chip/pics/source.js +97 -0
  102. package/dist/esm/chip/pics/source.js.map +6 -0
  103. package/dist/esm/chip/pics/values.d.ts +9 -0
  104. package/dist/esm/chip/pics/values.d.ts.map +1 -0
  105. package/dist/esm/chip/pics/values.js +6 -0
  106. package/dist/esm/chip/pics/values.js.map +6 -0
  107. package/dist/esm/chip/python-test.d.ts.map +1 -1
  108. package/dist/esm/chip/python-test.js +14 -7
  109. package/dist/esm/chip/python-test.js.map +1 -1
  110. package/dist/esm/chip/state.d.ts +3 -2
  111. package/dist/esm/chip/state.d.ts.map +1 -1
  112. package/dist/esm/chip/state.js +39 -26
  113. package/dist/esm/chip/state.js.map +1 -1
  114. package/dist/esm/chip/yaml-test.d.ts +1 -1
  115. package/dist/esm/chip/yaml-test.d.ts.map +1 -1
  116. package/dist/esm/chip/yaml-test.js +5 -1
  117. package/dist/esm/chip/yaml-test.js.map +1 -1
  118. package/dist/esm/cli.d.ts.map +1 -1
  119. package/dist/esm/cli.js +19 -4
  120. package/dist/esm/cli.js.map +2 -2
  121. package/dist/esm/device/subject.d.ts +4 -0
  122. package/dist/esm/device/subject.d.ts.map +1 -1
  123. package/dist/esm/failure-reporter.js +4 -6
  124. package/dist/esm/failure-reporter.js.map +1 -1
  125. package/dist/esm/print-report.d.ts +3 -0
  126. package/dist/esm/print-report.d.ts.map +1 -1
  127. package/dist/esm/print-report.js +12 -15
  128. package/dist/esm/print-report.js.map +2 -2
  129. package/dist/esm/test-descriptor.d.ts +18 -13
  130. package/dist/esm/test-descriptor.d.ts.map +1 -1
  131. package/dist/esm/test-descriptor.js +48 -49
  132. package/dist/esm/test-descriptor.js.map +2 -2
  133. package/package.json +2 -2
  134. package/src/chip/chip.ts +31 -17
  135. package/src/chip/command-pipe.ts +6 -2
  136. package/src/chip/config.ts +9 -9
  137. package/src/chip/container-command-pipe.ts +28 -30
  138. package/src/chip/index.ts +1 -1
  139. package/src/chip/matter-js-pics.properties +7 -4
  140. package/src/chip/{pics-expression.ts → pics/expression.ts} +4 -3
  141. package/src/chip/{pics-file.ts → pics/file.ts} +30 -13
  142. package/src/chip/pics/index.ts +10 -0
  143. package/src/chip/pics/source.ts +163 -0
  144. package/src/chip/pics/values.ts +9 -0
  145. package/src/chip/python-test.ts +18 -11
  146. package/src/chip/state.ts +56 -33
  147. package/src/chip/yaml-test.ts +6 -1
  148. package/src/cli.ts +29 -5
  149. package/src/device/subject.ts +4 -0
  150. package/src/failure-reporter.ts +4 -4
  151. package/src/print-report.ts +13 -18
  152. package/src/test-descriptor.ts +70 -61
  153. package/src/tsconfig.json +6 -2
  154. package/dist/cjs/chip/pics-expression.d.ts.map +0 -1
  155. package/dist/cjs/chip/pics-expression.js.map +0 -6
  156. package/dist/cjs/chip/pics-file.d.ts.map +0 -1
  157. package/dist/cjs/chip/pics-file.js.map +0 -6
  158. package/dist/esm/chip/pics-expression.d.ts.map +0 -1
  159. package/dist/esm/chip/pics-expression.js.map +0 -6
  160. package/dist/esm/chip/pics-file.d.ts.map +0 -1
  161. package/dist/esm/chip/pics-file.js.map +0 -6
@@ -26,12 +26,11 @@ function createBuilder(initial) {
26
26
  includePaths.add(path);
27
27
  }
28
28
  }
29
- const predicate = TestDescriptor.predicateFor({
29
+ const tests = TestDescriptor.filter(chip.tests.descriptor, {
30
30
  includePaths: [...includePaths],
31
31
  kinds: ["py", "yaml"],
32
- pics: chip.pics
32
+ pics: subject?.pics ?? chip.defaultPics
33
33
  });
34
- const tests = TestDescriptor.filter(chip.tests.descriptor, predicate);
35
34
  if (!tests?.members) {
36
35
  return this;
37
36
  }
@@ -41,10 +40,7 @@ function createBuilder(initial) {
41
40
  return this;
42
41
  },
43
42
  exclude(...glob) {
44
- const tests = TestDescriptor.filter(
45
- chip.tests.descriptor,
46
- TestDescriptor.predicateFor({ includePaths: globSync(glob, chip.tests) })
47
- );
43
+ const tests = TestDescriptor.filter(chip.tests.descriptor, { includePaths: globSync(glob, chip.tests) });
48
44
  if (!tests) {
49
45
  return this;
50
46
  }
@@ -100,14 +96,14 @@ function createBuilder(initial) {
100
96
  function defineTests(descriptor) {
101
97
  switch (descriptor.kind) {
102
98
  case "suite":
103
- implementSuite(descriptor);
99
+ defineSuite(descriptor);
104
100
  break;
105
101
  default:
106
- implementTest(descriptor);
102
+ defineTest(descriptor);
107
103
  break;
108
104
  }
109
105
  }
110
- function implementSuite(descriptor) {
106
+ function defineSuite(descriptor) {
111
107
  const mocha = State.mocha;
112
108
  const { name, members } = descriptor;
113
109
  if (!members?.length) {
@@ -139,7 +135,7 @@ function createBuilder(initial) {
139
135
  }
140
136
  });
141
137
  }
142
- function implementTest(descriptor) {
138
+ function defineTest(descriptor) {
143
139
  State.install();
144
140
  const test = chip.testFor(descriptor);
145
141
  const mochaTest = it(descriptor.name, function() {
@@ -160,8 +156,14 @@ function createBuilder(initial) {
160
156
  afterOne(mochaTest, State.deactivateSubject);
161
157
  }
162
158
  }
163
- function chipFn(...include) {
164
- return createBuilder({ include });
159
+ function chipFn(subjectOrFirstInclusion, ...include) {
160
+ if (typeof subjectOrFirstInclusion === "function") {
161
+ return chip.subject(subjectOrFirstInclusion).include(...include);
162
+ }
163
+ if (typeof subjectOrFirstInclusion === "string") {
164
+ include = [subjectOrFirstInclusion, ...include];
165
+ }
166
+ return createBuilder({ include: [...include] });
165
167
  }
166
168
  Object.defineProperties(chipFn, {
167
169
  runner: {
@@ -191,8 +193,11 @@ Object.defineProperties(chipFn, {
191
193
  isInitialized: {
192
194
  get: () => State.isInitialized
193
195
  },
194
- pics: {
195
- get: () => State.pics
196
+ defaultPics: {
197
+ get: () => State.defaultPics
198
+ },
199
+ defaultPicsFilename: {
200
+ get: () => State.defaultPicsFilename
196
201
  },
197
202
  pullBeforeTesting: {
198
203
  get() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/chip/chip.ts"],
4
- "mappings": "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",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,gBAAgB;AAKzB,SAAS,UAAU,iBAAiB;AAEpC,SAAS,sBAAsB;AAE/B,SAAS,aAAa;AAwGtB,SAAS,cAAc,SAMN;AACb,QAAM,kBAAkB,oBAAI,IAAgC;AAC5D,MAAI;AACJ,MAAI,oBAAoB;AACxB,QAAM,mBAAmB,MAAuB;AAChD,QAAM,kBAAkB,MAAuB;AAC/C,QAAM,OAAO,MAAc;AAE3B,QAAM,UAAwB;AAAA,IAC1B,WAAW,MAAgB;AACvB,YAAM,eAAe,oBAAI,IAAY;AACrC,iBAAW,WAAW,MAAM;AACxB,cAAM,QAAQ,SAAS,MAAM,KAAK,KAAK;AAEvC,YAAI,CAAC,MAAM,QAAQ;AACf,gBAAM,IAAI,MAAM,8BAA8B,OAAO,EAAE;AAAA,QAC3D;AAEA,mBAAW,QAAQ,OAAO;AACtB,uBAAa,IAAI,IAAI;AAAA,QACzB;AAAA,MACJ;AAEA,YAAM,QAAQ,eAAe,OAAO,KAAK,MAAM,YAAY;AAAA,QACvD,cAAc,CAAC,GAAG,YAAY;AAAA,QAC9B,OAAO,CAAC,MAAM,MAAM;AAAA,QACpB,MAAM,SAAS,QAAQ,KAAK;AAAA,MAChC,CAAC;AAED,UAAI,CAAC,OAAO,SAAS;AACjB,eAAO;AAAA,MACX;AAEA,iBAAW,UAAU,MAAM,SAAS;AAChC,oBAAY,MAAM;AAAA,MACtB;AAEA,aAAO;AAAA,IACX;AAAA,IAEA,WAAW,MAAgB;AACvB,YAAM,QAAQ,eAAe,OAAO,KAAK,MAAM,YAAY,EAAE,cAAc,SAAS,MAAM,KAAK,KAAK,EAAE,CAAC;AAEvG,UAAI,CAAC,OAAO;AACR,eAAO;AAAA,MACX;AAEA,qBAAe,MAAM,OAAO,gBAAc;AACtC,cAAM,OAAO,gBAAgB,IAAI,UAAU;AAC3C,YAAI,CAAC,MAAM;AACP;AAAA,QACJ;AAEA,wBAAgB,OAAO,UAAU;AACjC,YAAI,CAAC,MAAM,QAAQ;AACf;AAAA,QACJ;AAEA,cAAM,MAAM,KAAK,OAAO,MAAM,QAAQ,IAAI;AAC1C,YAAI,QAAQ,IAAI;AACZ,eAAK,OAAO,MAAM,OAAO,KAAK,CAAC;AAAA,QACnC;AAAA,MACJ,CAAC;AAED,aAAO;AAAA,IACX;AAAA,IAEA,QAAQ,YAA6B;AACjC,gBAAU;AACV,aAAO;AAAA,IACX;AAAA,IAEA,YAAY,MAAuB;AAC/B,uBAAiB,KAAK,IAAI;AAC1B,aAAO;AAAA,IACX;AAAA,IAEA,WAAW,MAAuB;AAC9B,sBAAgB,KAAK,IAAI;AACzB,aAAO;AAAA,IACX;AAAA,IAEA,QAAQ,SAA8B;AAClC,WAAK,KAAK,GAAG,QAAQ,IAAI,SAAO,GAAG,GAAG,EAAE,CAAC;AACzC,aAAO;AAAA,IACX;AAAA,IAEA,iBAAiB;AACb,0BAAoB;AACpB,aAAO;AAAA,IACX;AAAA,EACJ;AAEA,aAAW,OAAO,SAAS;AACvB,UAAM,KAAM,QAAwE,GAAG;AACvF,QAAI,OAAO,OAAO,YAAY;AAC1B,YAAM,MAAM,QAAQ,GAA2B;AAC/C,UAAI,MAAM,QAAQ,GAAG,GAAG;AACpB,WAAG,GAAG,GAAG;AAAA,MACb,OAAO;AACH,WAAG,GAAG;AAAA,MACV;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AAEP,WAAS,YAAY,YAA4B;AAC7C,YAAQ,WAAW,MAAM;AAAA,MACrB,KAAK;AACD,oBAAY,UAAU;AACtB;AAAA,MAEJ;AACI,mBAAW,UAAU;AACrB;AAAA,IACR;AAAA,EACJ;AAEA,WAAS,YAAY,YAA4B;AAC7C,UAAM,QAAQ,MAAM;AAEpB,UAAM,EAAE,MAAM,QAAQ,IAAI;AAC1B,QAAI,CAAC,SAAS,QAAQ;AAClB;AAAA,IACJ;AAEA,QAAI,WAAW,SAAS,MAAM,MAAM,OAAO;AACvC,iBAAW,UAAU,SAAS;AAC1B,oBAAY,MAAM;AAAA,MACtB;AACA;AAAA,IACJ;AAEA,eAAW,SAAS,MAAM,MAAM,QAAQ;AACpC,UAAI,MAAM,UAAU,MAAM;AACtB,cAAM,cAAc,MAAM;AAC1B,YAAI;AACA,gBAAM,QAAQ;AACd,qBAAW,UAAU,SAAS;AAC1B,wBAAY,MAAM;AAAA,UACtB;AAAA,QACJ,UAAE;AACE,gBAAM,QAAQ;AAAA,QAClB;AACA;AAAA,MACJ;AAAA,IACJ;AAEA,aAAS,MAAM,MAAM;AACjB,iBAAW,UAAU,SAAS;AAC1B,oBAAY,MAAM;AAAA,MACtB;AAAA,IACJ,CAAC;AAAA,EACL;AAEA,WAAS,WAAW,YAA4B;AAC5C,UAAM,QAAQ;AACd,UAAM,OAAO,KAAK,QAAQ,UAAU;AACpC,UAAM,YAAY,GAAG,WAAW,MAAM,WAAY;AAC9C,WAAK,QAAQ,WAAW,aAAa,KAAK,gBAAgB;AAC1D,aAAO,MAAM,IAAI,MAAM,MAAM,CAACA,UAASC,UAAS,eAAe,iBAAiBD,UAASC,KAAI,CAAC;AAAA,IAClG,CAAC;AAID;AAAA,MAAU;AAAA,MAAW,YACjB,MAAM;AAAA,QAAgB,WAAW,MAAM;AAAA,QAAS;AAAA,QAAmB;AAAA,QAAM,CAACD,UAASC,UAC/E,eAAe,kBAAkBD,UAASC,KAAI;AAAA,MAClD;AAAA,IACJ;AAEA,cAAU,aAAa,KAAK;AAC5B,oBAAgB,IAAI,YAAY,SAAS;AAEzC,aAAS,WAAW,MAAM,iBAAiB;AAAA,EAC/C;AACJ;AAEA,SAAS,OAAO,4BAAkE,SAAiC;AAC/G,MAAI,OAAO,4BAA4B,YAAY;AAC/C,WAAO,KAAK,QAAQ,uBAAuB,EAAE,QAAQ,GAAG,OAAO;AAAA,EACnE;AAEA,MAAI,OAAO,4BAA4B,UAAU;AAC7C,cAAU,CAAC,yBAAyB,GAAG,OAAO;AAAA,EAClD;AAEA,SAAO,cAAc,EAAE,SAAS,CAAC,GAAG,OAAO,EAAE,CAAC;AAClD;AAEA,OAAO,iBAAiB,QAAQ;AAAA,EAC5B,QAAQ;AAAA,IACJ,IAAI,QAAoB;AACpB,YAAM,SAAS;AAAA,IACnB;AAAA,EACJ;AAAA,EAEA,OAAO;AAAA,IACH,IAAI,OAAc;AACd,YAAM,QAAQ;AAAA,IAClB;AAAA,EACJ;AAAA,EAEA,gBAAgB;AAAA,IACZ,IAAI,SAA0B;AAC1B,YAAM,UAAU;AAAA,IACpB;AAAA,EACJ;AAAA,EAEA,YAAY;AAAA,IACR,KAAK,MAAM,MAAM;AAAA,EACrB;AAAA,EAEA,WAAW;AAAA,IACP,KAAK,MAAM,MAAM;AAAA,EACrB;AAAA,EAEA,OAAO;AAAA,IACH,KAAK,MAAM,MAAM;AAAA,EACrB;AAAA,EAEA,eAAe;AAAA,IACX,KAAK,MAAM,MAAM;AAAA,EACrB;AAAA,EAEA,aAAa;AAAA,IACT,KAAK,MAAM,MAAM;AAAA,EACrB;AAAA,EAEA,qBAAqB;AAAA,IACjB,KAAK,MAAM,MAAM;AAAA,EACrB;AAAA,EAEA,mBAAmB;AAAA,IACf,MAAM;AACF,aAAO,MAAM;AAAA,IACjB;AAAA,IAEA,IAAI,OAAgB;AAChB,YAAM,oBAAoB;AAAA,IAC9B;AAAA,EACJ;AAAA,EAEA,YAAY,EAAE,OAAO,MAAM,WAAW,KAAK,KAAK,EAAE;AAAA,EAClD,OAAO,EAAE,OAAO,MAAM,MAAM,KAAK,KAAK,EAAE;AAAA,EACxC,UAAU,EAAE,OAAO,MAAM,SAAS,KAAK,KAAK,EAAE;AAAA,EAC9C,SAAS,EAAE,OAAO,MAAM,QAAQ,KAAK,KAAK,EAAE;AAAA,EAC5C,SAAS,EAAE,OAAO,MAAM,QAAQ,KAAK,KAAK,EAAE;AAAA,EAC5C,WAAW,EAAE,OAAO,MAAM,UAAU,KAAK,KAAK,EAAE;AACpD,CAAC;AAEM,MAAM,OAAO;AAEpB,KAAK,mBAAmB,KAAK,KAAK;AAElC,SAAS,eAAe,UAA6B,MAAmC;AACpF,QAAM,WAAW,IAAI,MAAqB;AAC1C,aAAW,QAAQ,OAAO;AACtB,UAAM,UAAU,KAAK,GAAG,IAAI;AAC5B,QAAI,SAAS;AACT,eAAS,KAAK,OAAO;AAAA,IACzB;AAAA,EACJ;AACA,MAAI,UAAU;AACV,WAAO,QAAQ,IAAI,QAAQ,EAAE,KAAK,MAAM;AAAA,IAAC,CAAC;AAAA,EAC9C;AACJ;",
5
5
  "names": ["subject", "test"]
6
6
  }
@@ -11,7 +11,8 @@ import { BackchannelCommand } from "../device/backchannel.js";
11
11
  */
12
12
  export declare abstract class CommandPipe {
13
13
  #private;
14
- constructor(subject: BackchannelCommand.Subject, appName: string);
14
+ constructor(subject: BackchannelCommand.Subject, filename: string);
15
+ static filenameFor(app: string): string;
15
16
  get filename(): string;
16
17
  abstract initialize(): Promise<void>;
17
18
  abstract close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D;;;;GAIG;AACH,8BAAsB,WAAW;;gBAIjB,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;IAKhE,IAAI,QAAQ,WAEX;IAED,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;CA6C7C"}
1
+ {"version":3,"file":"command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAI9D;;;;GAIG;AACH,8BAAsB,WAAW;;gBAIjB,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM;IAKjE,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM;IAI9B,IAAI,QAAQ,WAEX;IAED,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IACpC,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAE/B,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;CA6C7C"}
@@ -7,9 +7,12 @@ const utf8 = new TextDecoder();
7
7
  class CommandPipe {
8
8
  #filename;
9
9
  #subject;
10
- constructor(subject, appName) {
10
+ constructor(subject, filename) {
11
11
  this.#subject = subject;
12
- this.#filename = `/tmp/chip_${appName}_fifo_${process.pid}`;
12
+ this.#filename = filename;
13
+ }
14
+ static filenameFor(app) {
15
+ return `/tmp/chip_${app}_fifo_${process.pid}`;
13
16
  }
14
17
  get filename() {
15
18
  return this.#filename;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/chip/command-pipe.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,MAAM,OAAO,IAAI,YAAY;AAOtB,MAAe,YAAY;AAAA,EAC9B;AAAA,EACA;AAAA,EAEA,YAAY,SAAqC,SAAiB;AAC9D,SAAK,WAAW;AAChB,SAAK,YAAY,aAAa,OAAO,SAAS,QAAQ,GAAG;AAAA,EAC7D;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAKU,OAAO,MAA2B;AACxC,QAAI,OAAO,SAAS,UAAU;AAC1B,aAAO,KAAK,OAAO,IAAI;AAAA,IAC3B;AAEA,QAAI;AACJ,QAAI;AACA,aAAO,KAAK,MAAM,IAAI;AAAA,IAC1B,SAAS,OAAO;AACZ,cAAQ,MAAM,+BAA+B,KAAK;AAClD;AAAA,IACJ;AAEA,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC3C,cAAQ,MAAM,kCAAkC,IAAI;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,KAAK,SAAS,UAAU;AAC/B,cAAQ,MAAM,sCAAsC,IAAI;AACxD;AAAA,IACJ;AAEA,SAAK,OAAO,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,KAAK,KAAK,MAAM,CAAC;AAEnE,WAAO,OAAO;AAAA,MACV,OAAO,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM;AACjC,YAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,EAAE,MAAM,CAAC;AAC3C,eAAO,CAAC,GAAG,CAAC;AAAA,MAChB,CAAC;AAAA,IACL;AAEA,QAAI;AACA,YAAM,SAAS,KAAK,SAAS,YAAY,IAA0B;AACnE,UAAI,QAAQ;AACR,eAAO,MAAM,aAAa;AAAA,MAC9B;AAAA,IACJ,SAAS,OAAO;AACZ,oBAAc,KAAK;AAAA,IACvB;AAEA,aAAS,cAAc,OAAgB;AACnC,cAAQ,MAAM,6CAA6C,KAAK;AAAA,IACpE;AAAA,EACJ;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,MAAM,OAAO,IAAI,YAAY;AAOtB,MAAe,YAAY;AAAA,EAC9B;AAAA,EACA;AAAA,EAEA,YAAY,SAAqC,UAAkB;AAC/D,SAAK,WAAW;AAChB,SAAK,YAAY;AAAA,EACrB;AAAA,EAEA,OAAO,YAAY,KAAa;AAC5B,WAAO,aAAa,GAAG,SAAS,QAAQ,GAAG;AAAA,EAC/C;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAKU,OAAO,MAA2B;AACxC,QAAI,OAAO,SAAS,UAAU;AAC1B,aAAO,KAAK,OAAO,IAAI;AAAA,IAC3B;AAEA,QAAI;AACJ,QAAI;AACA,aAAO,KAAK,MAAM,IAAI;AAAA,IAC1B,SAAS,OAAO;AACZ,cAAQ,MAAM,+BAA+B,KAAK;AAClD;AAAA,IACJ;AAEA,QAAI,OAAO,SAAS,YAAY,SAAS,MAAM;AAC3C,cAAQ,MAAM,kCAAkC,IAAI;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,KAAK,SAAS,UAAU;AAC/B,cAAQ,MAAM,sCAAsC,IAAI;AACxD;AAAA,IACJ;AAEA,SAAK,OAAO,KAAK,KAAK,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,KAAK,KAAK,MAAM,CAAC;AAEnE,WAAO,OAAO;AAAA,MACV,OAAO,QAAQ,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM;AACjC,YAAI,EAAE,MAAM,GAAG,CAAC,EAAE,YAAY,IAAI,EAAE,MAAM,CAAC;AAC3C,eAAO,CAAC,GAAG,CAAC;AAAA,MAChB,CAAC;AAAA,IACL;AAEA,QAAI;AACA,YAAM,SAAS,KAAK,SAAS,YAAY,IAA0B;AACnE,UAAI,QAAQ;AACR,eAAO,MAAM,aAAa;AAAA,MAC9B;AAAA,IACJ,SAAS,OAAO;AACZ,oBAAc,KAAK;AAAA,IACvB;AAEA,aAAS,cAAc,OAAgB;AACnC,cAAQ,MAAM,6CAA6C,KAAK;AAAA,IACpE;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { PicsSource } from "./pics/source.js";
6
7
  /**
7
8
  * Significant locations within the test container.
8
9
  *
@@ -14,7 +15,6 @@ export declare namespace ContainerPaths {
14
15
  const descriptorFile = "/lib/test-descriptor.json";
15
16
  const pythonCommissioner = "/src/python_testing/hello_test.py";
16
17
  const chipPics = "/src/app/tests/suites/certification/ci-pics-values";
17
- const matterJsPics = "/matter-js-pics.properties";
18
18
  const accessoryClient = "/scripts/py_matter_yamltests/matter_yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
19
19
  }
20
20
  export type ContainerPathsType = typeof ContainerPaths;
@@ -45,7 +45,6 @@ export declare namespace Constants {
45
45
  const mdnsVolumeName: string;
46
46
  const initTimeout = 60000;
47
47
  const defaultTimeoutMs = 60000;
48
- const localPicsOverrideFile = "src/chip/matter-js-pics.properties";
49
48
  /**
50
49
  * Default arguments provided to the YAML runner.
51
50
  */
@@ -54,5 +53,6 @@ export declare namespace Constants {
54
53
  * Default arguments provided to the Python runner.
55
54
  */
56
55
  const PythonRunnerArgs: string[];
56
+ const defaultPics: PicsSource;
57
57
  }
58
58
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/chip/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;;GAKG;AACH,yBAAiB,cAAc,CAAC;IACrB,MAAM,UAAU,wCAAwC,CAAC;IACzD,MAAM,cAAc,8BAA8B,CAAC;IACnD,MAAM,kBAAkB,sCAAsC,CAAC;IAC/D,MAAM,QAAQ,uDAAuD,CAAC;IACtE,MAAM,YAAY,+BAA+B,CAAC;IAClD,MAAM,eAAe,sGAC2E,CAAC;CAC3G;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC;AACvD,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,yBAAiB,SAAS,CAAC;IAChB,MAAM,gBAAgB,oBAA2B,CAAC;IAEzD;;;;OAIG;IACI,MAAM,QAAQ,QAAoC,CAAC;IAEnD,MAAM,WAAW,mBAAmB,CAAC;IAE5C;;OAEG;IACI,MAAM,SAAS,QAA2D,CAAC;IAC3E,MAAM,cAAc,QAA6C,CAAC;IAElE,MAAM,WAAW,QAAS,CAAC;IAC3B,MAAM,gBAAgB,QAAS,CAAC;IAEhC,MAAM,qBAAqB,uCAAuC,CAAC;IAc1E;;OAEG;IACI,MAAM,cAAc,UAc1B,CAAC;IAEF;;OAEG;IACI,MAAM,gBAAgB,UAQ5B,CAAC;CACL"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/chip/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;;;;GAKG;AACH,yBAAiB,cAAc,CAAC;IACrB,MAAM,UAAU,wCAAwC,CAAC;IACzD,MAAM,cAAc,8BAA8B,CAAC;IACnD,MAAM,kBAAkB,sCAAsC,CAAC;IAC/D,MAAM,QAAQ,uDAAuD,CAAC;IACtE,MAAM,eAAe,sGAC2E,CAAC;CAC3G;AAED,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC;AACvD,MAAM,WAAW,cAAe,SAAQ,kBAAkB;CAAG;AAE7D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,yBAAiB,SAAS,CAAC;IAChB,MAAM,gBAAgB,oBAA2B,CAAC;IAEzD;;;;OAIG;IACI,MAAM,QAAQ,QAAoC,CAAC;IAEnD,MAAM,WAAW,mBAAmB,CAAC;IAE5C;;OAEG;IACI,MAAM,SAAS,QAA2D,CAAC;IAC3E,MAAM,cAAc,QAA6C,CAAC;IAElE,MAAM,WAAW,QAAS,CAAC;IAC3B,MAAM,gBAAgB,QAAS,CAAC;IAcvC;;OAEG;IACI,MAAM,cAAc,UAW1B,CAAC;IAEF;;OAEG;IACI,MAAM,gBAAgB,UAK5B,CAAC;IAEK,MAAM,WAAW,EAAE,UAMzB,CAAC;CACL"}
@@ -10,7 +10,6 @@ var ContainerPaths;
10
10
  ContainerPaths2.descriptorFile = `/lib/test-descriptor.json`;
11
11
  ContainerPaths2.pythonCommissioner = `/src/python_testing/hello_test.py`;
12
12
  ContainerPaths2.chipPics = "/src/app/tests/suites/certification/ci-pics-values";
13
- ContainerPaths2.matterJsPics = "/matter-js-pics.properties";
14
13
  ContainerPaths2.accessoryClient = "/scripts/py_matter_yamltests/matter_yamltests/pseudo_clusters/clusters/accessory_server_bridge.py";
15
14
  })(ContainerPaths || (ContainerPaths = {}));
16
15
  var Constants;
@@ -22,12 +21,9 @@ var Constants;
22
21
  Constants2.mdnsVolumeName = env.MATTER_MDNS_VOLUME || "matter.js-mdns";
23
22
  Constants2.initTimeout = 6e4;
24
23
  Constants2.defaultTimeoutMs = 6e4;
25
- Constants2.localPicsOverrideFile = "src/chip/matter-js-pics.properties";
26
24
  const subjectCommissioningTimeoutS = 3;
27
25
  const delayAfterOpeningCommissioningWindowMs = 500;
28
26
  Constants2.YamlRunnerArgs = [
29
- "--PICS",
30
- ContainerPaths.matterJsPics,
31
27
  // This makes CHIP logs unconditional which would be nice if it intermingled with our logs but currently they
32
28
  // only appear once test is run; haven't tracked down how to stream them yet
33
29
  // "--show_adapter_logs",
@@ -38,13 +34,18 @@ var Constants;
38
34
  `${delayAfterOpeningCommissioningWindowMs}`
39
35
  ];
40
36
  Constants2.PythonRunnerArgs = [
41
- "--PICS",
42
- ContainerPaths.matterJsPics,
43
37
  // Our PID is meaningless within the container but Python uses in the name of the command pipe. We pass in our
44
38
  // actual PID to ensure no collision if multiple instances run
45
39
  "--app-pid",
46
40
  process.pid.toString()
47
41
  ];
42
+ Constants2.defaultPics = {
43
+ kind: "composite",
44
+ sources: [
45
+ { kind: "chip", name: ContainerPaths.chipPics },
46
+ { kind: "file", name: "src/chip/matter-js-pics.properties" }
47
+ ]
48
+ };
48
49
  })(Constants || (Constants = {}));
49
50
  export {
50
51
  Constants,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/chip/config.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,WAAW;AAQb,IAAU;AAAA,CAAV,CAAUA,oBAAV;AACI,EAAMA,gBAAA,aAAa;AACnB,EAAMA,gBAAA,iBAAiB;AACvB,EAAMA,gBAAA,qBAAqB;AAC3B,EAAMA,gBAAA,WAAW;AACjB,EAAMA,gBAAA,eAAe;AACrB,EAAMA,gBAAA,kBACT;AAAA,GAPS;AAuBV,IAAU;AAAA,CAAV,CAAUC,eAAV;AACI,EAAMA,WAAA,mBAAmB,IAAI;AAO7B,EAAMA,WAAA,WAAWA,WAAA,oBAAoB;AAErC,EAAMA,WAAA,cAAc;AAKpB,EAAMA,WAAA,YAAY,IAAI,qBAAqB;AAC3C,EAAMA,WAAA,iBAAiB,IAAI,sBAAsB;AAEjD,EAAMA,WAAA,cAAc;AACpB,EAAMA,WAAA,mBAAmB;AAEzB,EAAMA,WAAA,wBAAwB;AAMrC,QAAM,+BAA+B;AAMrC,QAAM,yCAAyC;AAKxC,EAAMA,WAAA,iBAAiB;AAAA,IAC1B;AAAA,IACA,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,IAOf;AAAA,IACA,GAAG,4BAA4B;AAAA,IAE/B;AAAA,IACA,GAAG,sCAAsC;AAAA,EAC7C;AAKO,EAAMA,WAAA,mBAAmB;AAAA,IAC5B;AAAA,IACA,eAAe;AAAA;AAAA;AAAA,IAIf;AAAA,IACA,QAAQ,IAAI,SAAS;AAAA,EACzB;AAAA,GAjEa;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,WAAW;AASb,IAAU;AAAA,CAAV,CAAUA,oBAAV;AACI,EAAMA,gBAAA,aAAa;AACnB,EAAMA,gBAAA,iBAAiB;AACvB,EAAMA,gBAAA,qBAAqB;AAC3B,EAAMA,gBAAA,WAAW;AACjB,EAAMA,gBAAA,kBACT;AAAA,GANS;AAsBV,IAAU;AAAA,CAAV,CAAUC,eAAV;AACI,EAAMA,WAAA,mBAAmB,IAAI;AAO7B,EAAMA,WAAA,WAAWA,WAAA,oBAAoB;AAErC,EAAMA,WAAA,cAAc;AAKpB,EAAMA,WAAA,YAAY,IAAI,qBAAqB;AAC3C,EAAMA,WAAA,iBAAiB,IAAI,sBAAsB;AAEjD,EAAMA,WAAA,cAAc;AACpB,EAAMA,WAAA,mBAAmB;AAMhC,QAAM,+BAA+B;AAMrC,QAAM,yCAAyC;AAKxC,EAAMA,WAAA,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAM1B;AAAA,IACA,GAAG,4BAA4B;AAAA,IAE/B;AAAA,IACA,GAAG,sCAAsC;AAAA,EAC7C;AAKO,EAAMA,WAAA,mBAAmB;AAAA;AAAA;AAAA,IAG5B;AAAA,IACA,QAAQ,IAAI,SAAS;AAAA,EACzB;AAEO,EAAMA,WAAA,cAA0B;AAAA,IACnC,MAAM;AAAA,IACN,SAAS;AAAA,MACL,EAAE,MAAM,QAAQ,MAAM,eAAe,SAAS;AAAA,MAC9C,EAAE,MAAM,QAAQ,MAAM,qCAAqC;AAAA,IAC/D;AAAA,EACJ;AAAA,GAjEa;",
5
5
  "names": ["ContainerPaths", "Constants"]
6
6
  }
@@ -11,8 +11,9 @@ import { CommandPipe } from "./command-pipe.js";
11
11
  */
12
12
  export declare class ContainerCommandPipe extends CommandPipe {
13
13
  #private;
14
- constructor(container: Container, subject: BackchannelCommand.Subject, appName: string);
14
+ constructor(container: Container, subject: BackchannelCommand.Subject);
15
15
  initialize(): Promise<void>;
16
+ installForApp(name: string): Promise<void>;
16
17
  close(): Promise<void>;
17
18
  }
18
19
  //# sourceMappingURL=container-command-pipe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"container-command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/container-command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;;gBAKrC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM;IAKvE,UAAU;IAUV,KAAK;CAoDvB"}
1
+ {"version":3,"file":"container-command-pipe.d.ts","sourceRoot":"","sources":["../../../src/chip/container-command-pipe.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;;gBAKrC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO;IAKtD,UAAU;IAOnB,aAAa,CAAC,IAAI,EAAE,MAAM;IAIjB,KAAK;CAiDvB"}
@@ -3,21 +3,24 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Terminal } from "../docker/terminal.js";
6
7
  import { CommandPipe } from "./command-pipe.js";
7
8
  const FIFO_PATH = "/command-pipe.fifo";
8
9
  class ContainerCommandPipe extends CommandPipe {
9
10
  #container;
10
11
  #deactivate;
11
12
  #stopped;
12
- constructor(container, subject, appName) {
13
- super(subject, appName);
13
+ constructor(container, subject) {
14
+ super(subject, "/command-pipe.fifo");
14
15
  this.#container = container;
15
16
  }
16
17
  async initialize() {
17
18
  await this.#container.createPipe(FIFO_PATH);
18
- await this.#container.exec(["ln", "-sf", "/command-pipe.fifo", this.filename]);
19
19
  this.#stopped = this.#processCommands();
20
20
  }
21
+ async installForApp(name) {
22
+ await this.#container.exec(["ln", "-sf", this.filename, ContainerCommandPipe.filenameFor(name)]);
23
+ }
21
24
  async close() {
22
25
  this.#deactivate?.();
23
26
  this.#deactivate = void 0;
@@ -25,34 +28,33 @@ class ContainerCommandPipe extends CommandPipe {
25
28
  this.#stopped = void 0;
26
29
  }
27
30
  async #processCommands() {
28
- let terminal;
31
+ let commands;
29
32
  try {
30
- terminal = await this.#container.follow(FIFO_PATH);
31
- const iterator = terminal[Symbol.asyncIterator]();
33
+ commands = await this.#container.exec(
34
+ ["bash", "-c", `while true; do cat ${FIFO_PATH}; done`],
35
+ Terminal.StdoutLine
36
+ );
37
+ const deactivated = new Promise((resolve) => {
38
+ this.#deactivate = resolve;
39
+ });
40
+ const iterator = commands[Symbol.asyncIterator]();
32
41
  while (true) {
33
- let deactivator;
34
- const deactivated = new Promise((resolve) => {
35
- deactivator = this.#deactivate = resolve;
36
- });
37
- const iteration = iterator.next().then((result) => result.value);
38
- try {
39
- const line = await Promise.race([deactivated, iteration]);
40
- if (line === void 0) {
41
- break;
42
- }
43
- this.onData(line);
44
- } finally {
45
- if (this.#deactivate === deactivator) {
46
- this.#deactivate = void 0;
47
- }
42
+ const command = await Promise.race([
43
+ deactivated,
44
+ iterator.next().then((result) => result.value)
45
+ ]);
46
+ if (command === void 0) {
47
+ break;
48
48
  }
49
+ this.onData(command);
49
50
  }
51
+ await deactivated;
50
52
  } finally {
51
- if (terminal) {
53
+ if (commands) {
52
54
  try {
53
- await terminal.close();
55
+ await commands.close();
54
56
  } catch (e) {
55
- console.warn(`Error closing FIFO listener for ${this.filename}:`, e);
57
+ console.warn(`Error closing command proxy for ${this.filename}:`, e);
56
58
  }
57
59
  }
58
60
  try {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/chip/container-command-pipe.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AASA,SAAS,mBAAmB;AAE5B,MAAM,YAAY;AAKX,MAAM,6BAA6B,YAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,WAAsB,SAAqC,SAAiB;AACpF,UAAM,SAAS,OAAO;AACtB,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,MAAe,aAAa;AAIxB,UAAM,KAAK,WAAW,WAAW,SAAS;AAC1C,UAAM,KAAK,WAAW,KAAK,CAAC,MAAM,OAAO,sBAAsB,KAAK,QAAQ,CAAC;AAE7E,SAAK,WAAW,KAAK,iBAAiB;AAAA,EAC1C;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,cAAc;AACnB,SAAK,cAAc;AAEnB,UAAM,KAAK;AACX,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,mBAAmB;AACrB,QAAI;AACJ,QAAI;AACA,iBAAW,MAAM,KAAK,WAAW,OAAO,SAAS;AAEjD,YAAM,WAAW,SAAS,OAAO,aAAa,EAAE;AAEhD,aAAO,MAAM;AACT,YAAI;AACJ,cAAM,cAAc,IAAI,QAAc,aAAW;AAC7C,wBAAc,KAAK,cAAc;AAAA,QACrC,CAAC;AAED,cAAM,YAAY,SAAS,KAAK,EAAE,KAAK,YAAU,OAAO,KAA2B;AAEnF,YAAI;AACA,gBAAM,OAAO,MAAM,QAAQ,KAAK,CAAC,aAAa,SAAS,CAAC;AACxD,cAAI,SAAS,QAAW;AACpB;AAAA,UACJ;AAEA,eAAK,OAAO,IAAI;AAAA,QACpB,UAAE;AACE,cAAI,KAAK,gBAAgB,aAAa;AAClC,iBAAK,cAAc;AAAA,UACvB;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,UAAE;AACE,UAAI,UAAU;AACV,YAAI;AACA,gBAAM,SAAS,MAAM;AAAA,QACzB,SAAS,GAAG;AACR,kBAAQ,KAAK,mCAAmC,KAAK,QAAQ,KAAK,CAAC;AAAA,QACvE;AAAA,MACJ;AAEA,UAAI;AACA,cAAM,KAAK,WAAW,OAAO,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,MAC/D,SAAS,GAAG;AACR,gBAAQ,KAAK,uBAAuB,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC3D;AAAA,IACJ;AAAA,EACJ;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,SAAS,gBAAgB;AACzB,SAAS,mBAAmB;AAE5B,MAAM,YAAY;AAKX,MAAM,6BAA6B,YAAY;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,WAAsB,SAAqC;AACnE,UAAM,SAAS,oBAAoB;AACnC,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,MAAe,aAAa;AAExB,UAAM,KAAK,WAAW,WAAW,SAAS;AAE1C,SAAK,WAAW,KAAK,iBAAiB;AAAA,EAC1C;AAAA,EAEA,MAAM,cAAc,MAAc;AAC9B,UAAM,KAAK,WAAW,KAAK,CAAC,MAAM,OAAO,KAAK,UAAU,qBAAqB,YAAY,IAAI,CAAC,CAAC;AAAA,EACnG;AAAA,EAEA,MAAe,QAAQ;AACnB,SAAK,cAAc;AACnB,SAAK,cAAc;AAEnB,UAAM,KAAK;AACX,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,MAAM,mBAAmB;AACrB,QAAI;AACJ,QAAI;AACA,iBAAW,MAAM,KAAK,WAAW;AAAA,QAC7B,CAAC,QAAQ,MAAM,sBAAsB,SAAS,QAAQ;AAAA,QACtD,SAAS;AAAA,MACb;AAEA,YAAM,cAAc,IAAI,QAAc,aAAW;AAC7C,aAAK,cAAc;AAAA,MACvB,CAAC;AAED,YAAM,WAAW,SAAS,OAAO,aAAa,EAAE;AAEhD,aAAO,MAAM;AACT,cAAM,UAAU,MAAM,QAAQ,KAAK;AAAA,UAC/B;AAAA,UACA,SAAS,KAAK,EAAE,KAAK,YAAU,OAAO,KAAe;AAAA,QACzD,CAAC;AACD,YAAI,YAAY,QAAW;AACvB;AAAA,QACJ;AACA,aAAK,OAAO,OAAO;AAAA,MACvB;AACA,YAAM;AAAA,IACV,UAAE;AACE,UAAI,UAAU;AACV,YAAI;AACA,gBAAM,SAAS,MAAM;AAAA,QACzB,SAAS,GAAG;AACR,kBAAQ,KAAK,mCAAmC,KAAK,QAAQ,KAAK,CAAC;AAAA,QACvE;AAAA,MACJ;AAEA,UAAI;AACA,cAAM,KAAK,WAAW,OAAO,KAAK,UAAU,EAAE,OAAO,KAAK,CAAC;AAAA,MAC/D,SAAS,GAAG;AACR,gBAAQ,KAAK,uBAAuB,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC3D;AAAA,IACJ;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -5,5 +5,5 @@
5
5
  */
6
6
  export * from "./chip.js";
7
7
  export * from "./command-pipe.js";
8
- export * from "./pics-expression.js";
8
+ export * from "./pics/index.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chip/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/chip/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -5,5 +5,5 @@
5
5
  */
6
6
  export * from "./chip.js";
7
7
  export * from "./command-pipe.js";
8
- export * from "./pics-expression.js";
8
+ export * from "./pics/index.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { PicsFile } from "./pics-file.js";
6
+ import { PicsFile } from "./file.js";
7
7
  /**
8
8
  * A set of PICS specifiers, each of which must be true for the set to apply.
9
9
  */
@@ -26,4 +26,4 @@ type Token = {
26
26
  kind: SymbolName;
27
27
  } | Name;
28
28
  export {};
29
- //# sourceMappingURL=pics-expression.d.ts.map
29
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../../src/chip/pics/expression.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;GAEG;AACH,qBAAa,cAAc;;gBAIX,UAAU,EAAE,MAAM;IAK9B,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAIvB,QAAQ;CAGX;AAED,UAAU,IAAI;IACV,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CAChB;AAeD,qBAAa,0BAA2B,SAAQ,KAAK;gBACrC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAShD;AAiED,QAAA,MAAM,OAAO,oCAAqC,CAAC;AACnD,KAAK,UAAU,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3C,KAAK,KAAK,GAAG;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,IAAI,CAAC"}
@@ -72,7 +72,7 @@ function parse(definition) {
72
72
  }
73
73
  }
74
74
  const result = parseExpr();
75
- if (tokenizer2.peek() !== void 0) {
75
+ if (tokenizer2.peek() !== void 0 && tokenizer2.peek()?.kind !== "(") {
76
76
  throw new InvalidPicsExpressionError(definition, tokenizer2.peek());
77
77
  }
78
78
  return result;
@@ -132,7 +132,7 @@ function test(ast, file) {
132
132
  case "!":
133
133
  return !test(ast.operand, file);
134
134
  case "name":
135
- return file.values[ast.name] === "1";
135
+ return file.values[ast.name] === 1;
136
136
  case "&":
137
137
  return test(ast.lhs, file) && test(ast.rhs, file);
138
138
  case "|":
@@ -145,4 +145,4 @@ export {
145
145
  InvalidPicsExpressionError,
146
146
  PicsExpression
147
147
  };
148
- //# sourceMappingURL=pics-expression.js.map
148
+ //# sourceMappingURL=expression.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/chip/pics/expression.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,eAAe;AAAA,EACxB;AAAA,EACA;AAAA,EAEA,YAAY,YAAoB;AAC5B,SAAK,cAAc;AACnB,SAAK,OAAO,MAAM,UAAU;AAAA,EAChC;AAAA,EAEA,SAAS,MAAgB;AACrB,WAAO,KAAK,KAAK,MAAM,IAAI;AAAA,EAC/B;AAAA,EAEA,WAAW;AACP,WAAO,KAAK;AAAA,EAChB;AACJ;AAoBO,MAAM,mCAAmC,MAAM;AAAA,EAClD,YAAY,YAAoB,OAAe;AAC3C,QAAI;AACJ,QAAI,UAAU,QAAW;AACrB,YAAM;AAAA,IACV,OAAO;AACH,YAAM,eAAe,MAAM,SAAS,SAAS,MAAM,OAAO,MAAM,IAAI;AAAA,IACxE;AACA,UAAM,4BAA4B,UAAU,MAAM,GAAG,EAAE;AAAA,EAC3D;AACJ;AAEA,SAAS,MAAM,YAAoB;AAC/B,QAAMA,aAAY,SAAS,UAAU;AAErC,WAAS,cAAmB;AACxB,UAAM,QAAQA,WAAU,KAAK;AAE7B,YAAQ,OAAO,MAAM;AAAA,MACjB,KAAK;AACD,eAAO;AAAA,MAEX,KAAK;AACD,cAAMC,UAAS,UAAU;AACzB,YAAID,WAAU,KAAK,GAAG,SAAS,KAAK;AAChC,gBAAM,IAAI,2BAA2B,YAAYA,WAAU,KAAK,CAAC;AAAA,QACrE;AACA,QAAAA,WAAU,KAAK;AACf,eAAOC;AAAA,MAEX,KAAK;AACD,eAAO;AAAA,UACH,MAAM;AAAA,UACN,SAAS,YAAY;AAAA,QACzB;AAAA,IACR;AAEA,UAAM,IAAI,2BAA2B,YAAY,KAAK;AAAA,EAC1D;AAEA,WAAS,YAAiB;AACtB,UAAM,OAAO,YAAY;AAEzB,YAAQD,WAAU,KAAK,GAAG,MAAM;AAAA,MAC5B,KAAK;AACD,QAAAA,WAAU,KAAK;AACf,eAAO;AAAA,UACH,MAAM;AAAA,UACN,KAAK;AAAA,UACL,KAAK,UAAU;AAAA,QACnB;AAAA,MAEJ,KAAK;AACD,QAAAA,WAAU,KAAK;AACf,eAAO;AAAA,UACH,MAAM;AAAA,UACN,KAAK;AAAA,UACL,KAAK,UAAU;AAAA,QACnB;AAAA,MAEJ;AACI,eAAO;AAAA,IACf;AAAA,EACJ;AAEA,QAAM,SAAS,UAAU;AAGzB,MAAIA,WAAU,KAAK,MAAM,UAAaA,WAAU,KAAK,GAAG,SAAS,KAAK;AAClE,UAAM,IAAI,2BAA2B,YAAYA,WAAU,KAAK,CAAC;AAAA,EACrE;AAEA,SAAO;AACX;AAEA,MAAM,UAAU,CAAC,KAAK,KAAK,KAAK,KAAK,GAAG;AAKxC,MAAM,aAAa,oBAAI,IAAI,CAAC,KAAK,MAAM,MAAM,GAAI,CAAC;AAClD,MAAM,aAAa,IAAI,IAAY,OAAO;AAO1C,SAAS,SAAS,YAA+B;AAC7C,QAAM,WAAW,UAAU,UAAU;AACrC,MAAI,OAAO,SAAS,KAAK;AAEzB,SAAO;AAAA,IACH,OAAO;AACH,UAAI,CAAC,KAAK,MAAM;AACZ,cAAM,QAAQ,KAAK;AACnB,eAAO,SAAS,KAAK;AACrB,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,IAEA,OAAO;AACH,aAAO,KAAK;AAAA,IAChB;AAAA,EACJ;AACJ;AAEA,UAAU,UAAU,YAAiD;AACjE,MAAI,MAAM;AACV,SAAO,MAAM,WAAW,QAAQ;AAC5B,QAAI,KAAK,WAAW,GAAG;AAEvB,YAAQ,IAAI;AAAA,MACR,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACD,cAAM,EAAE,MAAM,GAAG;AACjB;AAAA,MAEJ;AACI,YAAI,WAAW,IAAI,EAAE,GAAG;AACpB;AAAA,QACJ;AACA,cAAM,OAAO,CAAC,EAAE;AAChB,eAAO,MAAM;AACT,eAAK,WAAW,MAAM,CAAC;AACvB,cAAI,OAAO,UAAa,WAAW,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,GAAG;AAC9D;AAAA,UACJ;AACA,eAAK,KAAK,EAAE;AACZ;AAAA,QACJ;AACA,cAAM,EAAE,MAAM,QAAQ,MAAM,KAAK,KAAK,EAAE,EAAE;AAC1C;AAAA,IACR;AACA;AAAA,EACJ;AACJ;AAEA,SAAS,KAAK,KAAU,MAAyB;AAC7C,UAAQ,IAAI,MAAM;AAAA,IACd,KAAK;AACD,aAAO,CAAC,KAAK,IAAI,SAAS,IAAI;AAAA,IAElC,KAAK;AACD,aAAO,KAAK,OAAO,IAAI,IAAI,MAAM;AAAA,IAErC,KAAK;AACD,aAAO,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI;AAAA,IAEpD,KAAK;AACD,aAAO,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,IAAI,KAAK,IAAI;AAAA,IAEpD;AACI,YAAM,IAAI,MAAM,0CAA2C,IAAY,IAAI,GAAG;AAAA,EACtF;AACJ;",
5
+ "names": ["tokenizer", "result"]
6
+ }
@@ -3,8 +3,9 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { PicsValues } from "./values.js";
6
7
  /**
7
- * Manages Matter PICS files.
8
+ * In-memory Matter PICS file.
8
9
  *
9
10
  * Supports extended syntax for defining ranges of values of the form "NAMExx..yy=*" where xx and yy are hexadecimal
10
11
  * numbers specifying the start and end of a range (inclusive). These are expanded in {@link patch} which modifies the
@@ -15,11 +16,15 @@
15
16
  */
16
17
  export declare class PicsFile {
17
18
  #private;
18
- constructor(pathOrBody: string, inline?: boolean);
19
+ constructor(lines?: string | string[]);
19
20
  get lines(): string[];
20
- get values(): Record<string, string>;
21
+ get values(): PicsValues;
21
22
  toString(): string;
22
23
  patch(other: PicsFile): void;
23
- save(path: string): void;
24
24
  }
25
- //# sourceMappingURL=pics-file.d.ts.map
25
+ export declare namespace PicsFile {
26
+ interface Values {
27
+ [key: string]: 0 | 1;
28
+ }
29
+ }
30
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../../../src/chip/pics/file.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;;;GASG;AACH,qBAAa,QAAQ;;gBAIL,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAQrC,IAAI,KAAK,aAER;IAED,IAAI,MAAM,eAST;IAED,QAAQ;IAIR,KAAK,CAAC,KAAK,EAAE,QAAQ;CA6BxB;AAED,yBAAiB,QAAQ,CAAC;IACtB,UAAiB,MAAM;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;KACxB;CACJ"}
@@ -3,15 +3,15 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { readFileSync, writeFileSync } from "node:fs";
7
6
  class PicsFile {
8
7
  #lines;
9
8
  #values;
10
- constructor(pathOrBody, inline = false) {
11
- if (inline === false) {
12
- pathOrBody = readFileSync(pathOrBody, "utf-8");
9
+ constructor(lines) {
10
+ if (typeof lines === "string") {
11
+ this.#lines = lines.split("\n").map((l) => l.trim());
12
+ } else {
13
+ this.#lines = lines ?? [];
13
14
  }
14
- this.#lines = pathOrBody.split("\n").map((l) => l.trim());
15
15
  }
16
16
  get lines() {
17
17
  return this.#lines;
@@ -54,9 +54,6 @@ class PicsFile {
54
54
  this.#values = void 0;
55
55
  this.#lines = newLines;
56
56
  }
57
- save(path) {
58
- writeFileSync(path, this.toString());
59
- }
60
57
  }
61
58
  function parseLine(line, values) {
62
59
  line = line.trim();
@@ -67,7 +64,18 @@ function parseLine(line, values) {
67
64
  if (!valueMatch) {
68
65
  return false;
69
66
  }
70
- const [, key, value] = valueMatch;
67
+ const [, key, valueStr] = valueMatch;
68
+ let value;
69
+ switch (valueStr) {
70
+ case "0":
71
+ value = 0;
72
+ break;
73
+ case "1":
74
+ value = 1;
75
+ break;
76
+ default:
77
+ return false;
78
+ }
71
79
  const rangeMatch = key.match(/^(\S+)\.\.([\da-f]+)$/i);
72
80
  if (!rangeMatch) {
73
81
  values[key] = value;
@@ -95,4 +103,4 @@ function parseLine(line, values) {
95
103
  export {
96
104
  PicsFile
97
105
  };
98
- //# sourceMappingURL=pics-file.js.map
106
+ //# sourceMappingURL=file.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/chip/pics/file.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Project CHIP Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./expression.js";
7
+ export * from "./file.js";
8
+ export * from "./source.js";
9
+ export * from "./values.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/chip/pics/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Project CHIP Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export * from "./expression.js";
7
+ export * from "./file.js";
8
+ export * from "./source.js";
9
+ export * from "./values.js";
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/chip/pics/index.ts"],
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
+ "names": []
6
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Project CHIP Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { PicsFile } from "./file.js";
7
+ /**
8
+ * Source of PICS values.
9
+ */
10
+ export type PicsSource = PicsSource.Composite | PicsSource.ChipFile | PicsSource.LocalFile | PicsSource.Lines | PicsSource.Values;
11
+ export declare namespace PicsSource {
12
+ /**
13
+ * Load a {@link PicsFile} defined by a {@link PicsSource}.
14
+ *
15
+ * Caches results so a source always returns the same {@link PicsFile} instance.
16
+ */
17
+ function load(source: PicsSource): Promise<PicsFile>;
18
+ /**
19
+ * Save a {@link PicsFile} to the a {@link ChipFile} or {@link LocalFile}.
20
+ */
21
+ function save(target: ChipFile | LocalFile, file: PicsFile): Promise<void>;
22
+ /**
23
+ * Install a {@link PicsSource} into the test container.
24
+ *
25
+ * Returns the name of the file in the container.
26
+ *
27
+ * Results are cached so the same source always returns the same filename.
28
+ */
29
+ function install(file: PicsFile): Promise<string>;
30
+ interface Composite {
31
+ kind: "composite";
32
+ sources: Source[];
33
+ }
34
+ interface ChipFile {
35
+ kind: "chip";
36
+ name: string;
37
+ }
38
+ interface LocalFile {
39
+ kind: "file";
40
+ name: string;
41
+ }
42
+ interface Lines {
43
+ kind: "lines";
44
+ lines: string;
45
+ }
46
+ interface Values {
47
+ kind: "values";
48
+ values: Record<string, 0 | 1>;
49
+ }
50
+ type Source = ChipFile | LocalFile | Lines | Values;
51
+ }
52
+ //# sourceMappingURL=source.d.ts.map