@duplojs/agents-kit 0.1.0-beta.7 → 0.1.0-beta.9

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 (100) hide show
  1. package/README.md +17 -9
  2. package/dist/bin/index.mjs +2 -2
  3. package/dist/bin/skills/index.d.ts +5 -0
  4. package/dist/bin/skills/index.mjs +11 -0
  5. package/dist/bin/{installSkill/index.d.ts → skills/install.d.ts} +1 -1
  6. package/dist/bin/{installSkill/index.mjs → skills/install.mjs} +2 -2
  7. package/dist/bin/{installSkill → skills}/skill.d.ts +7 -0
  8. package/dist/bin/{installSkill → skills}/skill.mjs +10 -8
  9. package/dist/bin/skills/update.d.ts +2 -0
  10. package/dist/bin/skills/update.mjs +19 -0
  11. package/docs/API/10-lang/10-common/10-asyncLoop.ts +4 -6
  12. package/docs/API/10-lang/10-common/10-asyncLoopAccumulator.ts +40 -0
  13. package/docs/API/10-lang/10-common/10-loop.ts +5 -7
  14. package/docs/API/10-lang/10-common/10-loopAccumulator.ts +35 -0
  15. package/docs/API/10-lang/10-common/10-loopAccumulatorFrom.ts +29 -0
  16. package/docs/API/10-lang/10-common/index.llms.md +14 -2
  17. package/docs/API/10-lang/10-generator/10-asyncLoop.ts +11 -20
  18. package/docs/API/10-lang/10-generator/10-asyncLoopAccumulator.ts +40 -0
  19. package/docs/API/10-lang/10-generator/10-loop.ts +11 -20
  20. package/docs/API/10-lang/10-generator/10-loopAccumulator.ts +33 -0
  21. package/docs/API/10-lang/10-generator/10-loopAccumulatorFrom.ts +30 -0
  22. package/docs/API/10-lang/10-generator/index.llms.md +14 -2
  23. package/docs/API/10-lang/10-object/10-discriminate.ts +84 -37
  24. package/docs/API/10-lang/10-object/index.llms.md +1 -5
  25. package/docs/API/20-server/10-file/10-appendFile.ts +50 -0
  26. package/docs/API/20-server/10-file/10-appendTextFile.ts +49 -0
  27. package/docs/API/20-server/10-file/10-copy.ts +50 -0
  28. package/docs/API/20-server/10-file/10-createEntryInterface.ts +13 -0
  29. package/docs/API/20-server/10-file/10-createFileInterface.ts +22 -0
  30. package/docs/API/20-server/10-file/10-createFolderInterface.ts +20 -0
  31. package/docs/API/20-server/10-file/10-createUnknownEntryInterface.ts +13 -0
  32. package/docs/API/20-server/10-file/10-ensureDirectory.ts +39 -0
  33. package/docs/API/20-server/10-file/10-ensureFile.ts +40 -0
  34. package/docs/API/20-server/10-file/10-exists.ts +36 -0
  35. package/docs/API/20-server/10-file/10-link.ts +51 -0
  36. package/docs/API/20-server/10-file/10-linkStat.ts +37 -0
  37. package/docs/API/20-server/10-file/10-makeDirectory.ts +41 -0
  38. package/docs/API/20-server/10-file/10-makeTemporaryDirectory.ts +35 -0
  39. package/docs/API/20-server/10-file/10-makeTemporaryFile.ts +40 -0
  40. package/docs/API/20-server/10-file/10-move.ts +51 -0
  41. package/docs/API/20-server/10-file/10-readDirectory.ts +52 -0
  42. package/docs/API/20-server/10-file/10-readFile.ts +38 -0
  43. package/docs/API/20-server/10-file/10-readJsonFile.ts +38 -0
  44. package/docs/API/20-server/10-file/10-readLink.ts +37 -0
  45. package/docs/API/20-server/10-file/10-readTextFile.ts +38 -0
  46. package/docs/API/20-server/10-file/10-realPath.ts +36 -0
  47. package/docs/API/20-server/10-file/10-relocate.ts +51 -0
  48. package/docs/API/20-server/10-file/10-remove.ts +40 -0
  49. package/docs/API/20-server/10-file/10-rename.ts +43 -0
  50. package/docs/API/20-server/10-file/10-setMode.ts +37 -0
  51. package/docs/API/20-server/10-file/10-setOwner.ts +38 -0
  52. package/docs/API/20-server/10-file/10-setTime.ts +42 -0
  53. package/docs/API/20-server/10-file/10-stat.ts +37 -0
  54. package/docs/API/20-server/10-file/10-symlink.ts +49 -0
  55. package/docs/API/20-server/10-file/10-truncate.ts +41 -0
  56. package/docs/API/20-server/10-file/10-walkDirectory.ts +75 -0
  57. package/docs/API/20-server/10-file/10-writeFile.ts +50 -0
  58. package/docs/API/20-server/10-file/10-writeJsonFile.ts +41 -0
  59. package/docs/API/20-server/10-file/10-writeTextFile.ts +49 -0
  60. package/docs/API/20-server/10-file/index.llms.md +144 -0
  61. package/docs/API/20-server/10-file/index.md +3 -0
  62. package/docs/API/20-server/20-common/10-environmentVariable.ts +57 -0
  63. package/docs/API/20-server/20-common/10-environmentVariableOrThrow.ts +21 -0
  64. package/docs/API/20-server/20-common/10-exitProcess.ts +9 -0
  65. package/docs/API/20-server/20-common/10-getCurrentDirectoryName.ts +10 -0
  66. package/docs/API/20-server/20-common/10-getCurrentWorkDirectory.ts +10 -0
  67. package/docs/API/20-server/20-common/10-getCurrentWorkDirectoryOrThrow.ts +10 -0
  68. package/docs/API/20-server/20-common/10-getProcessArguments.ts +10 -0
  69. package/docs/API/20-server/20-common/10-setCurrentWorkingDirectory.ts +14 -0
  70. package/docs/API/20-server/20-common/10-setCurrentWorkingDirectoryOrThrow.ts +12 -0
  71. package/docs/API/20-server/20-common/index.llms.md +40 -0
  72. package/docs/API/20-server/20-common/index.md +3 -0
  73. package/docs/API/20-server/30-dataStructure/10-file.ts +14 -0
  74. package/docs/API/20-server/30-dataStructure/10-fileExist.ts +27 -0
  75. package/docs/API/20-server/30-dataStructure/10-folder.ts +14 -0
  76. package/docs/API/20-server/30-dataStructure/10-folderExist.ts +14 -0
  77. package/docs/API/20-server/30-dataStructure/10-mimeType.ts +14 -0
  78. package/docs/API/20-server/30-dataStructure/10-size.ts +32 -0
  79. package/docs/API/20-server/30-dataStructure/index.llms.md +28 -0
  80. package/docs/API/20-server/30-dataStructure/index.md +3 -0
  81. package/docs/API/20-server/40-command/10-create.ts +39 -0
  82. package/docs/API/20-server/40-command/10-createArgument.ts +39 -0
  83. package/docs/API/20-server/40-command/10-createArrayOption.ts +36 -0
  84. package/docs/API/20-server/40-command/10-createBooleanOption.ts +28 -0
  85. package/docs/API/20-server/40-command/10-createOption.ts +46 -0
  86. package/docs/API/20-server/40-command/10-exec.ts +51 -0
  87. package/docs/API/20-server/40-command/10-execOptions.ts +30 -0
  88. package/docs/API/20-server/40-command/index.llms.md +32 -0
  89. package/docs/API/20-server/40-command/index.md +3 -0
  90. package/docs/API/20-server/index.md +3 -0
  91. package/docs/API.llms.md +20 -0
  92. package/package.json +14 -14
  93. package/skills/fundamental/SKILL.md +33 -33
  94. package/skills/fundamental/references/composition.md +9 -25
  95. package/skills/fundamental/references/constraints-and-validation.md +14 -51
  96. package/skills/fundamental/references/examples/iterations.ts +112 -0
  97. package/skills/fundamental/references/examples/result-selection.ts +65 -0
  98. package/skills/fundamental/references/iterations.md +24 -0
  99. package/skills/fundamental/references/results-and-errors.md +20 -45
  100. package/docs/API/10-lang/10-object/10-deepDiscriminate.ts +0 -63
@@ -1,63 +0,0 @@
1
- /**
2
- * @title DObject.deepDiscriminate
3
- *
4
- * Discriminer une union d’objets à partir d’une propriété imbriquée.
5
- */
6
- import * as DObject from "@duplojs/lang/object";
7
- import * as DCommon from "@duplojs/lang/common";
8
-
9
- type Event =
10
- | {
11
- profile: {
12
- role: "admin";
13
- name: string;
14
- };
15
- }
16
- | {
17
- profile: {
18
- role: "member";
19
- name: string;
20
- };
21
- };
22
- interface AdminEvent {
23
- profile: {
24
- role: "admin";
25
- name: string;
26
- };
27
- }
28
-
29
- interface MemberEvent {
30
- profile: {
31
- role: "member";
32
- name: string;
33
- };
34
- }
35
-
36
- declare const event: Event;
37
-
38
- if (DObject.deepDiscriminate(event, "profile.role", "admin")) {
39
- type _CheckIfEvent = DCommon.ExpectType<typeof event, AdminEvent, "strict">;
40
- const name = DObject.getDeepProperty(event, "profile.name");
41
- type _CheckIfName = DCommon.ExpectType<typeof name, string, "strict">;
42
- }
43
-
44
- const result = DObject.deepDiscriminate(event, "profile.role", "admin");
45
-
46
- // Le predicate retourne true uniquement pour l’événement administrateur.
47
- type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
48
-
49
- // La forme curifiée est passée directement comme predicate à DCommon.when.
50
- const name = DCommon.pipe(
51
- event,
52
- DCommon.when(
53
- DObject.deepDiscriminate("profile.role", "admin"),
54
- (adminEvent) => {
55
- type _CheckPredicatedInput = DCommon.ExpectType<typeof adminEvent, AdminEvent, "strict">;
56
-
57
- return DObject.getDeepProperty(adminEvent, "profile.name");
58
- },
59
- ),
60
- );
61
-
62
- // Le nom est lu pour l’administrateur ; sinon l’événement initial est conservé.
63
- type _CheckName = DCommon.ExpectType<typeof name, string | MemberEvent, "strict">;