@propertysimple/client 0.1.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 (54) hide show
  1. package/API.md +79 -0
  2. package/README.md +348 -0
  3. package/client/src/directory-sync.d.ts +123 -0
  4. package/client/src/directory-sync.js +404 -0
  5. package/client/src/index.d.ts +5123 -0
  6. package/client/src/index.js +285 -0
  7. package/client/src/managed-sync.d.ts +129 -0
  8. package/client/src/managed-sync.js +410 -0
  9. package/contracts/src/catalog-derived.d.ts +7 -0
  10. package/contracts/src/catalog-derived.js +78 -0
  11. package/contracts/src/catalog-fields.d.ts +231 -0
  12. package/contracts/src/catalog-fields.js +194 -0
  13. package/contracts/src/catalog-inventory.d.ts +14 -0
  14. package/contracts/src/catalog-inventory.js +10 -0
  15. package/contracts/src/directory-execution.d.ts +320 -0
  16. package/contracts/src/directory-execution.js +122 -0
  17. package/contracts/src/directory-identity.d.ts +1255 -0
  18. package/contracts/src/directory-identity.js +129 -0
  19. package/contracts/src/directory-sales.d.ts +333 -0
  20. package/contracts/src/directory-sales.js +102 -0
  21. package/contracts/src/directory.d.ts +1088 -0
  22. package/contracts/src/directory.js +179 -0
  23. package/contracts/src/index.d.ts +18 -0
  24. package/contracts/src/index.js +18 -0
  25. package/contracts/src/intelligence.d.ts +366 -0
  26. package/contracts/src/intelligence.js +157 -0
  27. package/contracts/src/location-serving.d.ts +13 -0
  28. package/contracts/src/location-serving.js +89 -0
  29. package/contracts/src/location.d.ts +73 -0
  30. package/contracts/src/location.js +75 -0
  31. package/contracts/src/openapi.d.ts +22 -0
  32. package/contracts/src/openapi.js +109 -0
  33. package/contracts/src/operations.d.ts +8316 -0
  34. package/contracts/src/operations.js +56 -0
  35. package/contracts/src/opportunity-events.d.ts +38 -0
  36. package/contracts/src/opportunity-events.js +69 -0
  37. package/contracts/src/platform-api.d.ts +12 -0
  38. package/contracts/src/platform-api.js +1 -0
  39. package/contracts/src/professional-intelligence.d.ts +256 -0
  40. package/contracts/src/professional-intelligence.js +90 -0
  41. package/contracts/src/property-features.d.ts +94 -0
  42. package/contracts/src/property-features.js +398 -0
  43. package/contracts/src/publication.d.ts +44 -0
  44. package/contracts/src/publication.js +42 -0
  45. package/contracts/src/routes.d.ts +437 -0
  46. package/contracts/src/routes.js +496 -0
  47. package/contracts/src/schemas.d.ts +3198 -0
  48. package/contracts/src/schemas.js +674 -0
  49. package/contracts/src/search.d.ts +2630 -0
  50. package/contracts/src/search.js +223 -0
  51. package/contracts/src/smart-feed.d.ts +3731 -0
  52. package/contracts/src/smart-feed.js +109 -0
  53. package/openapi.json +43542 -0
  54. package/package.json +60 -0
@@ -0,0 +1,496 @@
1
+ /** Keep HTTP/SDK/OpenAPI paths together so a renamed endpoint cannot strand consumers. */
2
+ export const routes = [
3
+ {
4
+ method: 'GET',
5
+ path: '/v1/search/features',
6
+ operation: 'searchFeatures',
7
+ scope: 'catalog:read',
8
+ summary: 'Read typed feature definitions and supported search operators.',
9
+ },
10
+ {
11
+ method: 'POST',
12
+ path: '/v1/search/listings',
13
+ operation: 'searchListings',
14
+ scope: 'catalog:read',
15
+ readOnly: true,
16
+ summary: 'Search current inventory with typed hard constraints and evidence.',
17
+ },
18
+ {
19
+ method: 'POST',
20
+ path: '/v1/search/facets',
21
+ operation: 'searchFacets',
22
+ scope: 'catalog:read',
23
+ readOnly: true,
24
+ summary: 'Read authorized refinement counts for the same normalized search.',
25
+ },
26
+ {
27
+ method: 'POST',
28
+ path: '/v1/search/map',
29
+ operation: 'searchMap',
30
+ scope: 'catalog:read',
31
+ readOnly: true,
32
+ summary: 'Read bounded map points and clusters with matching search semantics.',
33
+ },
34
+ {
35
+ method: 'GET',
36
+ path: '/v1/search/suggest',
37
+ operation: 'searchSuggest',
38
+ scope: 'catalog:read',
39
+ summary: 'Suggest registered features and permitted listing locations.',
40
+ },
41
+ {
42
+ method: 'POST',
43
+ path: '/v1/search/interpret',
44
+ operation: 'searchInterpret',
45
+ scope: 'catalog:read',
46
+ readOnly: true,
47
+ summary: 'Interpret a bounded search vocabulary into editable filters and unresolved text.',
48
+ },
49
+ {
50
+ method: 'GET',
51
+ path: '/v1/directory/canonical-identities/{id}',
52
+ operation: 'directoryGetCanonicalIdentity',
53
+ scope: 'directory:read',
54
+ summary: 'Resolve reviewed identity links using only permitted source members.',
55
+ },
56
+ {
57
+ method: 'POST',
58
+ path: '/v1/directory/identity-merges',
59
+ operation: 'directoryMergeIdentities',
60
+ scope: 'directory:identity:write',
61
+ summary: 'Record an audited identity merge with expected source bindings.',
62
+ },
63
+ {
64
+ method: 'POST',
65
+ path: '/v1/directory/identity-splits',
66
+ operation: 'directorySplitIdentity',
67
+ scope: 'directory:identity:write',
68
+ summary: 'Split a reviewed identity without moving account or action history.',
69
+ },
70
+ {
71
+ method: 'GET',
72
+ path: '/v1/directory/entities/{id}/inventory',
73
+ operation: 'directoryListInventory',
74
+ scope: 'directory:read',
75
+ summary: 'Read represented or current-roster inventory with optional verified corporate rollup.',
76
+ },
77
+ {
78
+ method: 'GET',
79
+ path: '/v1/directory/sales-candidates',
80
+ operation: 'discoverDirectorySalesCandidates',
81
+ scope: 'directory:sales',
82
+ summary: 'Discover a bounded authorized page of subjects for sales-plan evaluation.',
83
+ },
84
+ {
85
+ method: 'POST',
86
+ path: '/v1/directory/action-claims',
87
+ operation: 'claimDirectoryActions',
88
+ scope: 'directory:execute',
89
+ summary: 'Reserve directory recommendations under a separately reviewed execution policy.',
90
+ },
91
+ {
92
+ method: 'POST',
93
+ path: '/v1/directory/actions/{id}/attempts',
94
+ operation: 'startDirectoryAttempt',
95
+ scope: 'directory:execute',
96
+ summary: 'Recheck authority and start one attempt, or return reconciliation-only replay.',
97
+ },
98
+ {
99
+ method: 'GET',
100
+ path: '/v1/directory/actions/{id}',
101
+ operation: 'getDirectoryAction',
102
+ scope: 'directory:execute',
103
+ summary: 'Read a product-scoped directory action and its execution state.',
104
+ },
105
+ {
106
+ method: 'POST',
107
+ path: '/v1/directory/action-outcomes',
108
+ operation: 'recordDirectoryActionOutcomes',
109
+ scope: 'directory:execute',
110
+ summary: 'Record authenticated provider receipts without retrying ambiguous effects.',
111
+ },
112
+ {
113
+ method: 'POST',
114
+ path: '/v1/directory/profile-observations',
115
+ operation: 'directoryRecordProfile',
116
+ scope: 'directory:write',
117
+ summary: 'Record a trusted producer’s scoped profile evidence.',
118
+ },
119
+ {
120
+ method: 'POST',
121
+ path: '/v1/directory/relationship-observations',
122
+ operation: 'directoryRecordRelationship',
123
+ scope: 'directory:write',
124
+ summary: 'Record a trusted producer’s evidenced relationship.',
125
+ },
126
+ {
127
+ method: 'GET',
128
+ path: '/v1/directory/professionals',
129
+ operation: 'directoryListProfessionals',
130
+ scope: 'directory:read',
131
+ summary: 'Read permitted source-backed professionals.',
132
+ },
133
+ {
134
+ method: 'GET',
135
+ path: '/v1/directory/offices',
136
+ operation: 'directoryListOffices',
137
+ scope: 'directory:read',
138
+ summary: 'Read permitted source offices.',
139
+ },
140
+ {
141
+ method: 'GET',
142
+ path: '/v1/directory/organizations',
143
+ operation: 'directoryListOrganizations',
144
+ scope: 'directory:read',
145
+ summary: 'Read evidenced business and brand observations.',
146
+ },
147
+ {
148
+ method: 'GET',
149
+ path: '/v1/directory/teams',
150
+ operation: 'directoryListTeams',
151
+ scope: 'directory:read',
152
+ summary: 'Read evidenced teams.',
153
+ },
154
+ {
155
+ method: 'GET',
156
+ path: '/v1/directory/entities/{id}',
157
+ operation: 'directoryGetEntity',
158
+ scope: 'directory:read',
159
+ summary: 'Read a scoped professional, office, organization or team.',
160
+ },
161
+ {
162
+ method: 'GET',
163
+ path: '/v1/directory/legacy-agents/{id}',
164
+ operation: 'directoryResolveAgent',
165
+ scope: 'directory:read',
166
+ summary: 'Resolve a listing agent ID to its permitted public directory identity.',
167
+ },
168
+ {
169
+ method: 'GET',
170
+ path: '/v1/directory/identities',
171
+ operation: 'directoryResolveIdentity',
172
+ scope: 'directory:read',
173
+ summary: 'Resolve a typed directory source identity.',
174
+ },
175
+ {
176
+ method: 'GET',
177
+ path: '/v1/directory/relationships',
178
+ operation: 'directoryListRelationships',
179
+ scope: 'directory:read',
180
+ summary: 'Read bounded evidenced relationships.',
181
+ },
182
+ {
183
+ method: 'GET',
184
+ path: '/v1/directory/entities/{id}/contacts',
185
+ operation: 'directoryGetContacts',
186
+ scope: 'directory:contacts',
187
+ summary: 'Read purpose-permitted directory contact endpoints.',
188
+ },
189
+ {
190
+ method: 'GET',
191
+ path: '/v1/directory/entities/{id}/metrics',
192
+ operation: 'directoryGetMetrics',
193
+ scope: 'directory:read',
194
+ summary: 'Read authorized observed inventory metrics.',
195
+ },
196
+ {
197
+ method: 'POST',
198
+ path: '/v1/directory/snapshots',
199
+ operation: 'createDirectorySnapshot',
200
+ scope: 'directory:sync',
201
+ status: 202,
202
+ summary: 'Capture a directory or combined feed boundary.',
203
+ },
204
+ {
205
+ method: 'GET',
206
+ path: '/v1/directory/snapshots/{id}',
207
+ operation: 'getDirectorySnapshot',
208
+ scope: 'directory:sync',
209
+ summary: 'Read snapshot scope, boundary and expiry.',
210
+ },
211
+ {
212
+ method: 'GET',
213
+ path: '/v1/directory/snapshots/{id}/items',
214
+ operation: 'listDirectorySnapshotItems',
215
+ scope: 'directory:sync',
216
+ summary: 'Page immutable typed snapshot resources.',
217
+ },
218
+ {
219
+ method: 'GET',
220
+ path: '/v1/directory/changes',
221
+ operation: 'listDirectoryChanges',
222
+ scope: 'directory:sync',
223
+ summary: 'Replay typed changes with complete commit-group boundaries.',
224
+ },
225
+ {
226
+ method: 'POST',
227
+ path: '/v1/directory/sales-plans',
228
+ operation: 'createDirectorySalesPlan',
229
+ scope: 'directory:sales',
230
+ summary: 'Prepare bounded professional or organization sales recommendations.',
231
+ },
232
+ {
233
+ method: 'GET',
234
+ path: '/v1/directory/sales-plans/{id}',
235
+ operation: 'getDirectorySalesPlan',
236
+ scope: 'directory:sales',
237
+ summary: 'Read a scoped recommendation-only directory sales plan.',
238
+ },
239
+ {
240
+ method: 'POST',
241
+ path: '/v1/directory/assessments',
242
+ operation: 'requestDirectoryAssessment',
243
+ scope: 'intelligence:judge',
244
+ status: 202,
245
+ summary: 'Queue a canonical-evidence directory assessment.',
246
+ },
247
+ {
248
+ method: 'GET',
249
+ path: '/v1/directory/assessments/latest',
250
+ operation: 'latestDirectoryAssessment',
251
+ scope: 'intelligence:read',
252
+ summary: 'Read prepared directory intelligence with current evidence checks.',
253
+ },
254
+ {
255
+ method: 'GET',
256
+ path: '/v1/directory/assessments/{id}',
257
+ operation: 'getDirectoryAssessment',
258
+ scope: 'intelligence:read',
259
+ summary: 'Read a purpose-scoped directory assessment.',
260
+ },
261
+ {
262
+ method: 'POST',
263
+ path: '/v1/publications',
264
+ operation: 'reportPublication',
265
+ scope: 'publications:write',
266
+ summary: 'Acknowledge this product’s current listing publication.',
267
+ },
268
+ {
269
+ method: 'GET',
270
+ path: '/v1/listings/{id}/destination',
271
+ operation: 'resolveDestination',
272
+ scope: 'catalog:read',
273
+ summary: 'Resolve a current product-reported destination.',
274
+ },
275
+ {
276
+ method: 'POST',
277
+ path: '/v1/judgments',
278
+ operation: 'evaluateJudgment',
279
+ scope: 'intelligence:judge',
280
+ summary: 'Evaluate a bounded versioned task against caller-supplied evidence.',
281
+ },
282
+ {
283
+ method: 'GET',
284
+ path: '/v1/judgments/{id}',
285
+ operation: 'getJudgment',
286
+ scope: 'intelligence:read',
287
+ summary: 'Read this credential subject’s durable judgment audit.',
288
+ },
289
+ {
290
+ method: 'GET',
291
+ path: '/v1/intelligence-capabilities',
292
+ operation: 'intelligenceCapabilities',
293
+ scope: 'intelligence:read',
294
+ summary: 'Read implemented judgment tasks and explicit unsupported capabilities.',
295
+ },
296
+ {
297
+ method: 'GET',
298
+ path: '/v1/capabilities',
299
+ operation: 'capabilities',
300
+ summary: 'Read this caller’s supported capabilities.',
301
+ },
302
+ {
303
+ method: 'GET',
304
+ path: '/v1/catalog-health',
305
+ operation: 'getCatalogHealth',
306
+ scope: 'catalog:read',
307
+ summary: 'Read authorized source freshness independently of catalog changes.',
308
+ },
309
+ {
310
+ method: 'GET',
311
+ path: '/v1/listings',
312
+ operation: 'listListings',
313
+ scope: 'catalog:read',
314
+ summary: 'Search the current authorized catalog.',
315
+ },
316
+ {
317
+ method: 'GET',
318
+ path: '/v1/listings/map',
319
+ operation: 'listListingMap',
320
+ scope: 'catalog:read',
321
+ summary: 'Read bounded map markers within a required geographic box.',
322
+ },
323
+ {
324
+ method: 'GET',
325
+ path: '/v1/listings/{id}/similar',
326
+ operation: 'listSimilarListings',
327
+ scope: 'catalog:read',
328
+ summary: 'Rank a bounded local shortlist using transparent fact similarity.',
329
+ },
330
+ {
331
+ method: 'GET',
332
+ path: '/v1/listings/{id}',
333
+ operation: 'getListing',
334
+ scope: 'catalog:read',
335
+ summary: 'Read a current listing.',
336
+ },
337
+ {
338
+ method: 'GET',
339
+ path: '/v1/listings/{id}/contacts',
340
+ operation: 'getListingContacts',
341
+ scope: 'contacts:read',
342
+ summary: 'Read protected source contact routing for a current active listing.',
343
+ },
344
+ {
345
+ method: 'GET',
346
+ path: '/v1/listing-identities',
347
+ operation: 'resolveListingIdentity',
348
+ scope: 'catalog:read',
349
+ summary: 'Resolve a namespaced source alias.',
350
+ },
351
+ {
352
+ method: 'GET',
353
+ path: '/v1/agent-identities',
354
+ operation: 'resolveAgentIdentity',
355
+ scope: 'agents:read',
356
+ summary: 'Resolve a namespaced agent source alias.',
357
+ },
358
+ {
359
+ method: 'GET',
360
+ path: '/v1/agents/{id}',
361
+ operation: 'getAgent',
362
+ scope: 'agents:read',
363
+ summary: 'Read permitted agent attribution.',
364
+ },
365
+ {
366
+ method: 'GET',
367
+ path: '/v1/agents/{id}/listings',
368
+ operation: 'listAgentListings',
369
+ scope: 'catalog:read',
370
+ summary: 'Read an agent’s authorized inventory.',
371
+ },
372
+ {
373
+ method: 'GET',
374
+ path: '/v1/classification-schema',
375
+ operation: 'classificationSchema',
376
+ scope: 'catalog:read',
377
+ summary: 'Read the current classification vocabulary.',
378
+ },
379
+ {
380
+ method: 'POST',
381
+ path: '/v1/catalog-snapshots',
382
+ operation: 'createSnapshot',
383
+ scope: 'catalog:sync',
384
+ status: 202,
385
+ summary: 'Create a consistent snapshot with its replay cursor.',
386
+ },
387
+ {
388
+ method: 'GET',
389
+ path: '/v1/catalog-snapshots/{id}',
390
+ operation: 'getSnapshot',
391
+ scope: 'catalog:sync',
392
+ summary: 'Read snapshot readiness and expiry.',
393
+ },
394
+ {
395
+ method: 'GET',
396
+ path: '/v1/catalog-snapshots/{id}/items',
397
+ operation: 'listSnapshotItems',
398
+ scope: 'catalog:sync',
399
+ summary: 'Page an immutable snapshot.',
400
+ },
401
+ {
402
+ method: 'GET',
403
+ path: '/v1/catalog-changes',
404
+ operation: 'listCatalogChanges',
405
+ scope: 'catalog:sync',
406
+ summary: 'Replay authorized projection changes and removals.',
407
+ },
408
+ {
409
+ method: 'GET',
410
+ path: '/v1/events',
411
+ operation: 'listEvents',
412
+ scope: 'catalog:sync',
413
+ summary: 'Replay committed domain occurrences.',
414
+ },
415
+ {
416
+ method: 'GET',
417
+ path: '/v1/action-profiles',
418
+ operation: 'listActionProfiles',
419
+ scope: 'opportunities:read',
420
+ summary: 'Read published action profiles.',
421
+ },
422
+ {
423
+ method: 'GET',
424
+ path: '/v1/opportunities',
425
+ operation: 'listOpportunities',
426
+ scope: 'opportunities:read',
427
+ summary: 'Read current candidates without reserving actions.',
428
+ },
429
+ {
430
+ method: 'POST',
431
+ path: '/v1/opportunity-plans',
432
+ operation: 'createPlan',
433
+ scope: 'plans:create',
434
+ status: 202,
435
+ summary: 'Create or reuse an actual persisted selection.',
436
+ },
437
+ {
438
+ method: 'GET',
439
+ path: '/v1/opportunity-plans/{id}',
440
+ operation: 'getPlan',
441
+ scope: 'opportunities:read',
442
+ summary: 'Read plan progress, coverage and execution counts.',
443
+ },
444
+ {
445
+ method: 'GET',
446
+ path: '/v1/opportunity-plans/{id}/items',
447
+ operation: 'listPlanItems',
448
+ scope: 'opportunities:read',
449
+ summary: 'Read stable selection pages.',
450
+ },
451
+ {
452
+ method: 'POST',
453
+ path: '/v1/dispatch-batches',
454
+ operation: 'claimDispatchBatch',
455
+ scope: 'actions:dispatch',
456
+ status: 201,
457
+ summary: 'Reserve executable actions after critical revalidation.',
458
+ },
459
+ {
460
+ method: 'POST',
461
+ path: '/v1/actions/{id}/attempts',
462
+ operation: 'startAttempt',
463
+ scope: 'actions:dispatch',
464
+ status: 201,
465
+ summary: 'Fence and record dispatch before an external effect.',
466
+ },
467
+ {
468
+ method: 'POST',
469
+ path: '/v1/action-outcomes',
470
+ operation: 'recordActionOutcomes',
471
+ scope: 'actions:dispatch',
472
+ summary: 'Record idempotent sender receipts with per-item results.',
473
+ },
474
+ {
475
+ method: 'POST',
476
+ path: '/v1/product-context-events',
477
+ operation: 'recordProductContextEvents',
478
+ scope: 'product-events:write',
479
+ summary: 'Ingest owned product context snapshots and deltas.',
480
+ },
481
+ {
482
+ method: 'POST',
483
+ path: '/v1/webhook-subscriptions',
484
+ operation: 'createWebhookSubscription',
485
+ scope: 'webhooks:manage',
486
+ status: 201,
487
+ summary: 'Register a subscription only where delivery support is configured.',
488
+ },
489
+ {
490
+ method: 'GET',
491
+ path: '/v1/operations/readiness',
492
+ operation: 'readiness',
493
+ scope: 'operations:read',
494
+ summary: 'Inspect configured operational dependencies.',
495
+ },
496
+ ];