boondmanager-mcp-server 2.10.0 → 2.12.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.
Files changed (84) hide show
  1. package/README.md +68 -3
  2. package/dist/config/access-policy.d.ts +5 -0
  3. package/dist/config/access-policy.d.ts.map +1 -1
  4. package/dist/config/access-policy.js +36 -1
  5. package/dist/config/access-policy.js.map +1 -1
  6. package/dist/config/env-flags.d.ts +11 -0
  7. package/dist/config/env-flags.d.ts.map +1 -0
  8. package/dist/config/env-flags.js +16 -0
  9. package/dist/config/env-flags.js.map +1 -0
  10. package/dist/config/profiles.d.ts +71 -0
  11. package/dist/config/profiles.d.ts.map +1 -0
  12. package/dist/config/profiles.js +115 -0
  13. package/dist/config/profiles.js.map +1 -0
  14. package/dist/icons.d.ts +79 -0
  15. package/dist/icons.d.ts.map +1 -0
  16. package/dist/icons.js +169 -0
  17. package/dist/icons.js.map +1 -0
  18. package/dist/resources/index.d.ts.map +1 -1
  19. package/dist/resources/index.js +6 -0
  20. package/dist/resources/index.js.map +1 -1
  21. package/dist/schemas/filter-aliases.d.ts +69 -0
  22. package/dist/schemas/filter-aliases.d.ts.map +1 -0
  23. package/dist/schemas/filter-aliases.js +225 -0
  24. package/dist/schemas/filter-aliases.js.map +1 -0
  25. package/dist/schemas/index.d.ts +22 -22
  26. package/dist/schemas/index.d.ts.map +1 -1
  27. package/dist/schemas/index.js +54 -43
  28. package/dist/schemas/index.js.map +1 -1
  29. package/dist/server.d.ts +18 -1
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +26 -3
  32. package/dist/server.js.map +1 -1
  33. package/dist/services/boond-client.d.ts +12 -2
  34. package/dist/services/boond-client.d.ts.map +1 -1
  35. package/dist/services/boond-client.js +86 -5
  36. package/dist/services/boond-client.js.map +1 -1
  37. package/dist/services/progress.d.ts +48 -0
  38. package/dist/services/progress.d.ts.map +1 -0
  39. package/dist/services/progress.js +70 -0
  40. package/dist/services/progress.js.map +1 -0
  41. package/dist/tools/actions.d.ts.map +1 -1
  42. package/dist/tools/actions.js +3 -2
  43. package/dist/tools/actions.js.map +1 -1
  44. package/dist/tools/advantages.d.ts.map +1 -1
  45. package/dist/tools/advantages.js +3 -2
  46. package/dist/tools/advantages.js.map +1 -1
  47. package/dist/tools/crud-factory.d.ts +0 -8
  48. package/dist/tools/crud-factory.d.ts.map +1 -1
  49. package/dist/tools/crud-factory.js +72 -17
  50. package/dist/tools/crud-factory.js.map +1 -1
  51. package/dist/tools/deliveries.d.ts.map +1 -1
  52. package/dist/tools/deliveries.js +3 -2
  53. package/dist/tools/deliveries.js.map +1 -1
  54. package/dist/tools/documents.d.ts.map +1 -1
  55. package/dist/tools/documents.js +5 -2
  56. package/dist/tools/documents.js.map +1 -1
  57. package/dist/tools/notifications.d.ts.map +1 -1
  58. package/dist/tools/notifications.js +3 -2
  59. package/dist/tools/notifications.js.map +1 -1
  60. package/dist/tools/planning-absences.d.ts.map +1 -1
  61. package/dist/tools/planning-absences.js +3 -2
  62. package/dist/tools/planning-absences.js.map +1 -1
  63. package/dist/tools/purchases.d.ts.map +1 -1
  64. package/dist/tools/purchases.js +3 -2
  65. package/dist/tools/purchases.js.map +1 -1
  66. package/dist/tools/registration-decorators.d.ts +35 -0
  67. package/dist/tools/registration-decorators.d.ts.map +1 -0
  68. package/dist/tools/registration-decorators.js +30 -0
  69. package/dist/tools/registration-decorators.js.map +1 -0
  70. package/dist/tools/reporting.d.ts.map +1 -1
  71. package/dist/tools/reporting.js +9 -1
  72. package/dist/tools/reporting.js.map +1 -1
  73. package/dist/tools/timesheets.d.ts.map +1 -1
  74. package/dist/tools/timesheets.js +3 -2
  75. package/dist/tools/timesheets.js.map +1 -1
  76. package/dist/tools/validation-wrapper.d.ts +43 -0
  77. package/dist/tools/validation-wrapper.d.ts.map +1 -0
  78. package/dist/tools/validation-wrapper.js +108 -0
  79. package/dist/tools/validation-wrapper.js.map +1 -0
  80. package/dist/tools/validations.d.ts.map +1 -1
  81. package/dist/tools/validations.js +3 -2
  82. package/dist/tools/validations.js.map +1 -1
  83. package/manifest.json +8 -1
  84. package/package.json +3 -1
@@ -9,14 +9,14 @@ export declare const SearchSchema: z.ZodObject<{
9
9
  export declare const ResourceSearchSchema: z.ZodObject<{
10
10
  keywords: z.ZodOptional<z.ZodString>;
11
11
  keywordsType: z.ZodOptional<z.ZodEnum<{
12
+ title: "title";
13
+ emails: "emails";
12
14
  reference: "reference";
13
15
  firstName: "firstName";
14
16
  lastName: "lastName";
15
- title: "title";
16
17
  resumeTd: "resumeTd";
17
18
  fullName: "fullName";
18
19
  strictFullName: "strictFullName";
19
- emails: "emails";
20
20
  titleSkills: "titleSkills";
21
21
  phones: "phones";
22
22
  resume: "resume";
@@ -30,8 +30,8 @@ export declare const ResourceSearchSchema: z.ZodObject<{
30
30
  agencies: "agencies";
31
31
  poles: "poles";
32
32
  data: "data";
33
- businessUnits: "businessUnits";
34
33
  managers: "managers";
34
+ businessUnits: "businessUnits";
35
35
  }>>>;
36
36
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
37
37
  resourceStates: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
@@ -71,14 +71,14 @@ export declare const ResourceSearchSchema: z.ZodObject<{
71
71
  export declare const CandidateSearchSchema: z.ZodObject<{
72
72
  keywords: z.ZodOptional<z.ZodString>;
73
73
  keywordsType: z.ZodOptional<z.ZodEnum<{
74
+ title: "title";
75
+ emails: "emails";
74
76
  reference: "reference";
75
77
  firstName: "firstName";
76
78
  lastName: "lastName";
77
- title: "title";
78
79
  resumeTd: "resumeTd";
79
80
  fullName: "fullName";
80
81
  strictFullName: "strictFullName";
81
- emails: "emails";
82
82
  titleSkills: "titleSkills";
83
83
  phones: "phones";
84
84
  resume: "resume";
@@ -92,8 +92,8 @@ export declare const CandidateSearchSchema: z.ZodObject<{
92
92
  agencies: "agencies";
93
93
  poles: "poles";
94
94
  data: "data";
95
- businessUnits: "businessUnits";
96
95
  managers: "managers";
96
+ businessUnits: "businessUnits";
97
97
  }>>>;
98
98
  perimeterManagersType: z.ZodOptional<z.ZodEnum<{
99
99
  main: "main";
@@ -138,12 +138,12 @@ export declare const CandidateSearchSchema: z.ZodObject<{
138
138
  export declare const ContactSearchSchema: z.ZodObject<{
139
139
  keywords: z.ZodOptional<z.ZodString>;
140
140
  keywordsType: z.ZodOptional<z.ZodEnum<{
141
+ default: "default";
142
+ emails: "emails";
141
143
  firstName: "firstName";
142
144
  lastName: "lastName";
143
- default: "default";
144
145
  fullName: "fullName";
145
146
  strictFullName: "strictFullName";
146
- emails: "emails";
147
147
  phones: "phones";
148
148
  companyFullName: "companyFullName";
149
149
  socialNetworks: "socialNetworks";
@@ -156,8 +156,8 @@ export declare const ContactSearchSchema: z.ZodObject<{
156
156
  agencies: "agencies";
157
157
  poles: "poles";
158
158
  data: "data";
159
- businessUnits: "businessUnits";
160
159
  managers: "managers";
160
+ businessUnits: "businessUnits";
161
161
  }>>>;
162
162
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
163
163
  states: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
@@ -190,8 +190,8 @@ export declare const ContactSearchSchema: z.ZodObject<{
190
190
  export declare const CompanySearchSchema: z.ZodObject<{
191
191
  keywords: z.ZodOptional<z.ZodString>;
192
192
  keywordsType: z.ZodOptional<z.ZodEnum<{
193
- name: "name";
194
193
  default: "default";
194
+ name: "name";
195
195
  emails: "emails";
196
196
  phones: "phones";
197
197
  socialNetworks: "socialNetworks";
@@ -204,8 +204,8 @@ export declare const CompanySearchSchema: z.ZodObject<{
204
204
  agencies: "agencies";
205
205
  poles: "poles";
206
206
  data: "data";
207
- businessUnits: "businessUnits";
208
207
  managers: "managers";
208
+ businessUnits: "businessUnits";
209
209
  }>>>;
210
210
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
211
211
  states: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
@@ -240,8 +240,8 @@ export declare const OpportunitySearchSchema: z.ZodObject<{
240
240
  agencies: "agencies";
241
241
  poles: "poles";
242
242
  data: "data";
243
- businessUnits: "businessUnits";
244
243
  managers: "managers";
244
+ businessUnits: "businessUnits";
245
245
  }>>>;
246
246
  perimeterManagersType: z.ZodOptional<z.ZodEnum<{
247
247
  main: "main";
@@ -285,8 +285,8 @@ export declare const ProjectSearchSchema: z.ZodObject<{
285
285
  agencies: "agencies";
286
286
  poles: "poles";
287
287
  data: "data";
288
- businessUnits: "businessUnits";
289
288
  managers: "managers";
289
+ businessUnits: "businessUnits";
290
290
  }>>>;
291
291
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
292
292
  projectStates: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
@@ -798,8 +798,8 @@ export declare const NotificationSearchSchema: z.ZodObject<{
798
798
  corporate: "corporate";
799
799
  }>;
800
800
  state: z.ZodOptional<z.ZodEnum<{
801
- new: "new";
802
801
  read: "read";
802
+ new: "new";
803
803
  }>>;
804
804
  parentType: z.ZodOptional<z.ZodArray<z.ZodString>>;
805
805
  page: z.ZodDefault<z.ZodNumber>;
@@ -822,8 +822,8 @@ export declare const ReportingCompaniesSchema: z.ZodObject<{
822
822
  agencies: "agencies";
823
823
  poles: "poles";
824
824
  data: "data";
825
- businessUnits: "businessUnits";
826
825
  managers: "managers";
826
+ businessUnits: "businessUnits";
827
827
  }>>>;
828
828
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
829
829
  periodDynamic: z.ZodOptional<z.ZodString>;
@@ -855,8 +855,8 @@ export declare const ReportingProjectsSchema: z.ZodObject<{
855
855
  agencies: "agencies";
856
856
  poles: "poles";
857
857
  data: "data";
858
- businessUnits: "businessUnits";
859
858
  managers: "managers";
859
+ businessUnits: "businessUnits";
860
860
  }>>>;
861
861
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
862
862
  periodDynamic: z.ZodOptional<z.ZodString>;
@@ -893,8 +893,8 @@ export declare const ReportingResourcesSchema: z.ZodObject<{
893
893
  agencies: "agencies";
894
894
  poles: "poles";
895
895
  data: "data";
896
- businessUnits: "businessUnits";
897
896
  managers: "managers";
897
+ businessUnits: "businessUnits";
898
898
  }>>>;
899
899
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
900
900
  periodDynamic: z.ZodOptional<z.ZodString>;
@@ -938,8 +938,8 @@ export declare const ReportingSynthesisSchema: z.ZodObject<{
938
938
  agencies: "agencies";
939
939
  poles: "poles";
940
940
  data: "data";
941
- businessUnits: "businessUnits";
942
941
  managers: "managers";
942
+ businessUnits: "businessUnits";
943
943
  }>>>;
944
944
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
945
945
  periodDynamic: z.ZodOptional<z.ZodString>;
@@ -975,8 +975,8 @@ export declare const ReportingProductionPlansSchema: z.ZodObject<{
975
975
  agencies: "agencies";
976
976
  poles: "poles";
977
977
  data: "data";
978
- businessUnits: "businessUnits";
979
978
  managers: "managers";
979
+ businessUnits: "businessUnits";
980
980
  }>>>;
981
981
  narrowPerimeter: z.ZodOptional<z.ZodBoolean>;
982
982
  periodDynamic: z.ZodOptional<z.ZodString>;
@@ -995,14 +995,15 @@ export declare const DictionaryGetSchema: z.ZodObject<{
995
995
  export declare const DocumentParentTypes: readonly ["action", "resourceResume", "candidateResume", "resource", "candidate", "expensesReport", "timesReport", "absencesReport", "payment", "company", "project", "order", "product", "purchase", "delivery", "groupment", "inactivity", "positioning", "followeddocument", "appentity", "contract", "invoice", "providerinvoice"];
996
996
  export declare const DocumentCreateSchema: z.ZodObject<{
997
997
  parentType: z.ZodEnum<{
998
+ delivery: "delivery";
998
999
  resource: "resource";
1000
+ order: "order";
1001
+ company: "company";
999
1002
  candidate: "candidate";
1000
1003
  project: "project";
1001
- company: "company";
1002
1004
  positioning: "positioning";
1003
1005
  product: "product";
1004
1006
  invoice: "invoice";
1005
- order: "order";
1006
1007
  action: "action";
1007
1008
  absencesReport: "absencesReport";
1008
1009
  timesReport: "timesReport";
@@ -1011,7 +1012,6 @@ export declare const DocumentCreateSchema: z.ZodObject<{
1011
1012
  candidateResume: "candidateResume";
1012
1013
  payment: "payment";
1013
1014
  purchase: "purchase";
1014
- delivery: "delivery";
1015
1015
  groupment: "groupment";
1016
1016
  inactivity: "inactivity";
1017
1017
  followeddocument: "followeddocument";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -12,49 +12,60 @@ export const fieldsField = z
12
12
  .optional()
13
13
  .describe("Projection : attributs à afficher par résultat (ex: ['title','updateDate']). " +
14
14
  "Absent = résumé standard. Noms inconnus ignorés.");
15
- // Common search schema
16
- export const SearchSchema = z
17
- .object({
18
- keywords: z.string().optional().describe("Mots-clés de recherche (nom, email, compétences...)"),
19
- page: z
20
- .number()
21
- .int()
22
- .min(1)
23
- .max(MAX_SEARCH_PAGE)
24
- .default(1)
25
- .describe(`Numéro de page (défaut: 1, max: ${MAX_SEARCH_PAGE})`),
26
- pageSize: z
27
- .number()
28
- .int()
29
- .min(1)
30
- .max(MAX_PAGE_SIZE)
31
- .default(DEFAULT_PAGE_SIZE)
32
- .describe(`Nombre de résultats par page (max: ${MAX_PAGE_SIZE}, défaut: ${DEFAULT_PAGE_SIZE})`),
33
- fields: fieldsField,
34
- })
35
- .strict();
36
15
  // ---- Reusable filter field helpers ----
37
16
  // IMPORTANT: input field names below MUST match the BoondManager API query parameter names
38
17
  // exactly (e.g., perimeterManagers, resourceStates, opportunityStates). buildSearchQuery
39
18
  // passes them through as `key[]=value` for arrays. See https://doc.boondmanager.com/api-externe/
19
+ //
20
+ // Declared before `SearchSchema` (which embeds them) so module init doesn't hit
21
+ // the temporal dead zone — same reason as `fieldsField` above.
22
+ //
23
+ // The pagination ceilings carry an explicit message: the default Zod wording
24
+ // ("Too big: expected number to be <=100") says what was refused but not what
25
+ // to do instead, and a model that hit the page ceiling should refine its
26
+ // filters rather than retry one page lower.
40
27
  const pageField = z
41
28
  .number()
42
29
  .int()
43
30
  .min(1)
44
- .max(MAX_SEARCH_PAGE)
31
+ .max(MAX_SEARCH_PAGE, {
32
+ error: `page > ${MAX_SEARCH_PAGE} refusé (plafond MAX_SEARCH_PAGE) : affiner les filtres plutôt que paginer plus loin.`,
33
+ })
45
34
  .default(1)
46
35
  .describe(`Numéro de page (défaut: 1, max: ${MAX_SEARCH_PAGE})`);
47
36
  const pageSizeField = z
48
37
  .number()
49
38
  .int()
50
39
  .min(1)
51
- .max(MAX_PAGE_SIZE)
40
+ .max(MAX_PAGE_SIZE, { error: `pageSize > ${MAX_PAGE_SIZE} refusé : maximum ${MAX_PAGE_SIZE} résultats par page.` })
52
41
  .default(DEFAULT_PAGE_SIZE)
53
42
  .describe(`Nombre de résultats par page (max: ${MAX_PAGE_SIZE}, défaut: ${DEFAULT_PAGE_SIZE})`);
54
43
  const sortField = z.string().optional().describe("Champ de tri (ex: lastName, firstName, updateDate)");
55
44
  const orderField = z.enum(["asc", "desc"]).optional().describe("Ordre de tri (asc/desc)");
56
- const intArray = (doc) => z.array(z.number().int()).optional().describe(doc);
45
+ // Integer-id filters take ids, and a model that passes labels ("actif",
46
+ // "Acme") gets an invalid_type issue. Point it at the resolution path in the
47
+ // message itself rather than making it re-read the field description — but at
48
+ // the RIGHT path: `boond://dictionary/*` holds state/type code tables and no
49
+ // entities, so sending a model there for `perimeterManagers: ["Jean Dupont"]`
50
+ // or `companies: ["Acme"]` is a dead end. Hence two flavours.
51
+ const DICTIONARY_ID_ERROR = "ID entier attendu (pas un libellé) : résoudre l'ID via les ressources `boond://dictionary/*` ou `boond_application_dictionary`.";
52
+ const ENTITY_ID_ERROR = "ID entier attendu (pas un nom) : récupérer l'ID via la recherche de l'entité concernée " +
53
+ "(`boond_resources_search`, `boond_companies_search`, `boond_agencies_search`…) ou " +
54
+ "`boond_application_current_user` — pas via `boond://dictionary/*`, qui ne contient que des états/types.";
55
+ /** Dictionary-backed filter (states, types, experience levels…). */
56
+ const intArray = (doc, error = DICTIONARY_ID_ERROR) => z.array(z.number({ error }).int()).optional().describe(doc);
57
+ /** Filter taking *entity* ids (managers, companies, agencies, tags…). */
58
+ const entityIdArray = (doc) => intArray(doc, ENTITY_ID_ERROR);
57
59
  const strArray = (doc) => z.array(z.string()).optional().describe(doc);
60
+ // Common search schema
61
+ export const SearchSchema = z
62
+ .object({
63
+ keywords: z.string().optional().describe("Mots-clés de recherche (nom, email, compétences...)"),
64
+ page: pageField,
65
+ pageSize: pageSizeField,
66
+ fields: fieldsField,
67
+ })
68
+ .strict();
58
69
  // Shared `tools` (technologies/skills) filter. Centralised so every entity
59
70
  // search exposes the same `#AND#` semantics to the model — previously the
60
71
  // description ranged from the full explanation (resources) to a bare
@@ -70,11 +81,11 @@ const toolsFilterField = strArray("IDs d'outils/technos (dictionnaire setting.to
70
81
  const actionDateTimeRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?([+-]\d{2}:?\d{2}|Z)?$/;
71
82
  // Shared "perimeter" filters available on every entity search (from RAML trait `searchable`).
72
83
  // These are the CORRECT filters for "my team / my agency / my N-1" — NOT the old `mainManagers`.
73
- const perimeterManagersField = intArray("IDs des managers (ressources). Conserve les entités dont le responsable est l'un de ces managers. " +
84
+ const perimeterManagersField = entityIdArray("IDs des managers (ressources). Conserve les entités dont le responsable est l'un de ces managers. " +
74
85
  "Pour 'mon équipe / N-1 d'une personne X', passer [X_id]. Obtenir son propre ID via boond_application_current_user.");
75
- const perimeterAgenciesField = intArray("IDs d'agences. Conserve les entités dont le responsable appartient à ces agences.");
76
- const perimeterPolesField = intArray("IDs de pôles. Conserve les entités dont le responsable appartient à ces pôles.");
77
- const perimeterBusinessUnitsField = intArray("IDs de business units. Conserve les entités dont le responsable appartient à ces BU.");
86
+ const perimeterAgenciesField = entityIdArray("IDs d'agences. Conserve les entités dont le responsable appartient à ces agences.");
87
+ const perimeterPolesField = entityIdArray("IDs de pôles. Conserve les entités dont le responsable appartient à ces pôles.");
88
+ const perimeterBusinessUnitsField = entityIdArray("IDs de business units. Conserve les entités dont le responsable appartient à ces BU.");
78
89
  const perimeterDynamicField = z
79
90
  .array(z.enum(["data", "agencies", "poles", "businessUnits", "managers"]))
80
91
  .optional()
@@ -139,7 +150,7 @@ export const ResourceSearchSchema = z
139
150
  trainings: strArray("IDs de formations (dictionnaire setting.training)."),
140
151
  mobilityAreas: strArray("IDs de zones de mobilité (dictionnaire setting.mobilityArea)."),
141
152
  languages: strArray("Langues parlées au format `langueId|niveauId` (dictionnaires setting.languageSpoken et setting.languageLevel). Ex: ['anglais|courant']."),
142
- flags: intArray("IDs de tags (drapeaux) attachés à la ressource."),
153
+ flags: entityIdArray("IDs de tags (drapeaux) attachés à la ressource."),
143
154
  period: z
144
155
  .string()
145
156
  .optional()
@@ -150,7 +161,7 @@ export const ResourceSearchSchema = z
150
161
  "À combiner avec `startDate` + `endDate`."),
151
162
  startDate: startDateField,
152
163
  endDate: endDateField,
153
- providerCompanies: intArray("IDs de sociétés sous-traitantes (filtre pour ressources externes)."),
164
+ providerCompanies: entityIdArray("IDs de sociétés sous-traitantes (filtre pour ressources externes)."),
154
165
  coordinates: z
155
166
  .string()
156
167
  .optional()
@@ -226,7 +237,7 @@ export const CandidateSearchSchema = z
226
237
  languages: strArray("Langues au format `langueId|niveauId` (ex: ['anglais|courant'])."),
227
238
  evaluations: strArray("IDs d'évaluations."),
228
239
  sources: strArray("IDs de sources de recrutement (dictionnaire setting.source)."),
229
- flags: intArray("IDs de tags."),
240
+ flags: entityIdArray("IDs de tags."),
230
241
  period: z
231
242
  .string()
232
243
  .optional()
@@ -234,7 +245,7 @@ export const CandidateSearchSchema = z
234
245
  "'noAction'/'withActions'/'withoutActions'. À combiner avec `startDate` + `endDate`."),
235
246
  startDate: startDateField,
236
247
  endDate: endDateField,
237
- providerCompanies: intArray("IDs de sociétés sous-traitantes."),
248
+ providerCompanies: entityIdArray("IDs de sociétés sous-traitantes."),
238
249
  coordinates: z.string().optional().describe("Coordonnées GPS 'lat,lon'. Requiert `geoDistance`."),
239
250
  location: z.string().optional().describe("Adresse texte. Requiert `geoDistance`."),
240
251
  geoDistance: z.number().int().min(5).max(200).optional().describe("Rayon km (5-200)."),
@@ -287,8 +298,8 @@ export const ContactSearchSchema = z
287
298
  activityAreas: strArray("IDs de secteurs d'activité de la société."),
288
299
  expertiseAreas: strArray("IDs de domaines d'expertise de la société."),
289
300
  tools: toolsFilterField,
290
- influencers: intArray("IDs de contacts influenceurs."),
291
- flags: intArray("IDs de tags."),
301
+ influencers: entityIdArray("IDs de contacts influenceurs."),
302
+ flags: entityIdArray("IDs de tags."),
292
303
  period: z
293
304
  .string()
294
305
  .optional()
@@ -330,8 +341,8 @@ export const CompanySearchSchema = z
330
341
  states: intArray("IDs d'états de société (dictionnaire setting.state.company)."),
331
342
  expertiseAreas: strArray("IDs de domaines d'expertise (dictionnaire setting.expertiseArea)."),
332
343
  origins: strArray("IDs d'origines (dictionnaire setting.origin)."),
333
- influencers: intArray("IDs d'influenceurs."),
334
- flags: intArray("IDs de tags."),
344
+ influencers: entityIdArray("IDs d'influenceurs."),
345
+ flags: entityIdArray("IDs de tags."),
335
346
  period: z
336
347
  .string()
337
348
  .optional()
@@ -379,7 +390,7 @@ export const OpportunitySearchSchema = z
379
390
  places: strArray("IDs de zones (dictionnaire setting.mobilityArea)."),
380
391
  durations: intArray("IDs de durées (dictionnaire setting.duration)."),
381
392
  origins: strArray("IDs d'origines."),
382
- flags: intArray("IDs de tags."),
393
+ flags: entityIdArray("IDs de tags."),
383
394
  period: z
384
395
  .string()
385
396
  .optional()
@@ -416,10 +427,10 @@ export const ProjectSearchSchema = z
416
427
  narrowPerimeter: narrowPerimeterField,
417
428
  projectStates: intArray("IDs d'états de projet (dictionnaire setting.state.project)."),
418
429
  projectTypes: intArray("IDs de types de projet (dictionnaire setting.typeOf.project)."),
419
- companies: intArray("IDs de sociétés clientes : projets rattachés à ces sociétés."),
430
+ companies: entityIdArray("IDs de sociétés clientes : projets rattachés à ces sociétés."),
420
431
  expertiseAreas: strArray("IDs de domaines d'expertise."),
421
432
  activityAreas: strArray("IDs de secteurs d'activité."),
422
- flags: intArray("IDs de tags."),
433
+ flags: entityIdArray("IDs de tags."),
423
434
  period: z
424
435
  .string()
425
436
  .optional()
@@ -1267,10 +1278,10 @@ const reportingUseCacheField = z
1267
1278
  .enum(["withCache", "withoutCache"])
1268
1279
  .optional()
1269
1280
  .describe("Cache de reporting : 'withCache' (valeurs mises en cache) ou 'withoutCache' (recalcul, défaut).");
1270
- const reportingResourcesField = intArray("Filtrer sur ces IDs de ressources.");
1271
- const reportingProjectsField = intArray("Filtrer sur ces IDs de projets.");
1272
- const reportingContactsField = intArray("Filtrer sur ces IDs de contacts.");
1273
- const reportingCompaniesField = intArray("Filtrer sur ces IDs de sociétés.");
1281
+ const reportingResourcesField = entityIdArray("Filtrer sur ces IDs de ressources.");
1282
+ const reportingProjectsField = entityIdArray("Filtrer sur ces IDs de projets.");
1283
+ const reportingContactsField = entityIdArray("Filtrer sur ces IDs de contacts.");
1284
+ const reportingCompaniesField = entityIdArray("Filtrer sur ces IDs de sociétés.");
1274
1285
  const reportingMaxField = (entity) => z
1275
1286
  .number()
1276
1287
  .int()