@lessly/sdk-app 61.0.2 → 61.2.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.
- package/dist/_types/index.d.ts +2 -1
- package/dist/_types/react/index.d.ts +33 -0
- package/dist/_types/runtime/access.d.ts +40 -0
- package/dist/_types/runtime/createLesslyApp.d.ts +4 -0
- package/dist/_types/runtime/errors.d.ts +11 -0
- package/dist/_types/runtime/permission-match.d.ts +62 -0
- package/dist/index.cjs +691 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +691 -1
- package/dist/index.js.map +1 -1
- package/dist/react/index.cjs +29 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.d.cts +1 -0
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.js +26 -0
- package/dist/react/index.js.map +1 -0
- package/docs/README.md +1 -0
- package/docs/recipes/access.md +177 -0
- package/docs/rules.md +33 -0
- package/package.json +24 -1
package/dist/index.cjs
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
// src/runtime/errors.ts
|
|
4
|
+
var ACCESS_DENIED_CODES = /* @__PURE__ */ new Set([
|
|
5
|
+
"role_denied",
|
|
6
|
+
"operation_uncatalogued",
|
|
7
|
+
"no_tool_permission"
|
|
8
|
+
]);
|
|
4
9
|
var LesslyApiError = class extends Error {
|
|
5
10
|
status;
|
|
6
11
|
code;
|
|
7
12
|
body;
|
|
13
|
+
/** True iff this is the gateway refusing the call over the caller's access. See ACCESS_DENIED_CODES. */
|
|
14
|
+
accessDenied;
|
|
8
15
|
constructor(status, code, message, body) {
|
|
9
16
|
super(message);
|
|
10
17
|
this.name = "LesslyApiError";
|
|
11
18
|
this.status = status;
|
|
12
19
|
this.code = code;
|
|
13
20
|
this.body = body;
|
|
21
|
+
this.accessDenied = status === 403 && code !== null && ACCESS_DENIED_CODES.has(code);
|
|
14
22
|
}
|
|
15
23
|
};
|
|
16
24
|
function parseErrorBody(body, status) {
|
|
@@ -19,6 +27,12 @@ function parseErrorBody(body, status) {
|
|
|
19
27
|
const message = b?.error?.message ?? b?.message ?? `Request failed with status ${status}`;
|
|
20
28
|
return new LesslyApiError(status, code, message, body);
|
|
21
29
|
}
|
|
30
|
+
function isAccessDenied(err) {
|
|
31
|
+
if (err instanceof LesslyApiError) return err.accessDenied;
|
|
32
|
+
if (typeof err !== "object" || err === null) return false;
|
|
33
|
+
const { status, code } = err;
|
|
34
|
+
return status === 403 && typeof code === "string" && ACCESS_DENIED_CODES.has(code);
|
|
35
|
+
}
|
|
22
36
|
|
|
23
37
|
// src/runtime/csrf.ts
|
|
24
38
|
var CSRF_COOKIE = "lessly_csrf";
|
|
@@ -10277,6 +10291,678 @@ var bindings = {
|
|
|
10277
10291
|
}
|
|
10278
10292
|
};
|
|
10279
10293
|
|
|
10294
|
+
// src/gen/manifest.gen.ts
|
|
10295
|
+
var operations = {
|
|
10296
|
+
"analytics_catalog_get": "read",
|
|
10297
|
+
"analytics_dashboard_create": "write",
|
|
10298
|
+
"analytics_dashboard_delete": "write",
|
|
10299
|
+
"analytics_dashboard_get": "read",
|
|
10300
|
+
"analytics_dashboard_list": "read",
|
|
10301
|
+
"analytics_dashboard_run": "read",
|
|
10302
|
+
"analytics_dashboard_update": "write",
|
|
10303
|
+
"analytics_funnel_run": "read",
|
|
10304
|
+
"analytics_insight_create": "write",
|
|
10305
|
+
"analytics_insight_delete": "write",
|
|
10306
|
+
"analytics_insight_get": "read",
|
|
10307
|
+
"analytics_insight_list": "read",
|
|
10308
|
+
"analytics_insight_run": "read",
|
|
10309
|
+
"analytics_insight_update": "write",
|
|
10310
|
+
"analytics_metric_query": "read",
|
|
10311
|
+
"analytics_person_timeline": "read",
|
|
10312
|
+
"analytics_query_run": "read",
|
|
10313
|
+
"analytics_retention_run": "read",
|
|
10314
|
+
"brain_backup_create": "write",
|
|
10315
|
+
"brain_backup_restore": "write",
|
|
10316
|
+
"brain_backup_status": "read",
|
|
10317
|
+
"brain_backups_list": "read",
|
|
10318
|
+
"brain_clickup_channels_list": "read",
|
|
10319
|
+
"brain_clickup_connections_list": "read",
|
|
10320
|
+
"brain_clickup_lists_list": "read",
|
|
10321
|
+
"brain_clickup_spaces_list": "read",
|
|
10322
|
+
"brain_cognition_digest": "write",
|
|
10323
|
+
"brain_cognition_status": "read",
|
|
10324
|
+
"brain_cognition_sweep": "write",
|
|
10325
|
+
"brain_connector_branches_list": "read",
|
|
10326
|
+
"brain_connector_connections_list": "read",
|
|
10327
|
+
"brain_connector_repos_list": "read",
|
|
10328
|
+
"brain_daemon_batch_status": "read",
|
|
10329
|
+
"brain_daemon_create": "write",
|
|
10330
|
+
"brain_daemon_get": "read",
|
|
10331
|
+
"brain_daemon_reingest": "write",
|
|
10332
|
+
"brain_daemon_remove": "admin",
|
|
10333
|
+
"brain_daemon_run": "write",
|
|
10334
|
+
"brain_daemon_run_items": "read",
|
|
10335
|
+
"brain_daemon_runs": "read",
|
|
10336
|
+
"brain_daemon_status": "read",
|
|
10337
|
+
"brain_daemon_update": "write",
|
|
10338
|
+
"brain_daemons_list": "read",
|
|
10339
|
+
"brain_gdrive_connections_list": "read",
|
|
10340
|
+
"brain_knowledge_entity_memories": "read",
|
|
10341
|
+
"brain_knowledge_graph": "read",
|
|
10342
|
+
"brain_knowledge_neighborhood": "read",
|
|
10343
|
+
"brain_knowledge_relations": "read",
|
|
10344
|
+
"brain_knowledge_search": "read",
|
|
10345
|
+
"brain_memory_add": "write",
|
|
10346
|
+
"brain_memory_delete": "admin",
|
|
10347
|
+
"brain_memory_get": "read",
|
|
10348
|
+
"brain_memory_list": "read",
|
|
10349
|
+
"brain_memory_search": "read",
|
|
10350
|
+
"brain_memory_stats": "read",
|
|
10351
|
+
"brain_memory_update": "write",
|
|
10352
|
+
"brain_product_shared_memory_reset": "write",
|
|
10353
|
+
"brain_restore_status": "read",
|
|
10354
|
+
"brain_usage_report": "read",
|
|
10355
|
+
"consent_config_cookie_domain_upsert": "write",
|
|
10356
|
+
"consent_config_customization_upsert": "write",
|
|
10357
|
+
"consent_config_floating_icon_upsert": "write",
|
|
10358
|
+
"consent_config_theme_upsert": "write",
|
|
10359
|
+
"consent_dashboard_config_get": "read",
|
|
10360
|
+
"consent_dashboard_decisions_list": "read",
|
|
10361
|
+
"consent_dashboard_embed_snippet_get": "read",
|
|
10362
|
+
"consent_dashboard_stats_get": "read",
|
|
10363
|
+
"consent_embed_get": "read",
|
|
10364
|
+
"consent_providers_create": "write",
|
|
10365
|
+
"consent_providers_delete": "admin",
|
|
10366
|
+
"consent_providers_list": "read",
|
|
10367
|
+
"consent_providers_update": "write",
|
|
10368
|
+
"consent_records_export": "read",
|
|
10369
|
+
"consent_stats_get": "read",
|
|
10370
|
+
"content_channels_bind": "write",
|
|
10371
|
+
"content_channels_get": "read",
|
|
10372
|
+
"content_channels_list": "read",
|
|
10373
|
+
"content_channels_resume": "write",
|
|
10374
|
+
"content_channels_unbind": "write",
|
|
10375
|
+
"content_channels_update": "write",
|
|
10376
|
+
"content_media_create_upload_url": "write",
|
|
10377
|
+
"content_media_finalize": "write",
|
|
10378
|
+
"content_media_get": "read",
|
|
10379
|
+
"content_media_list": "read",
|
|
10380
|
+
"content_media_upload": "write",
|
|
10381
|
+
"content_metrics_channel_series": "read",
|
|
10382
|
+
"content_metrics_post_series": "read",
|
|
10383
|
+
"content_posts_approve": "write",
|
|
10384
|
+
"content_posts_attach_media": "write",
|
|
10385
|
+
"content_posts_create": "write",
|
|
10386
|
+
"content_posts_detach_media": "write",
|
|
10387
|
+
"content_posts_get": "read",
|
|
10388
|
+
"content_posts_list": "read",
|
|
10389
|
+
"content_posts_submit": "write",
|
|
10390
|
+
"content_posts_update": "write",
|
|
10391
|
+
"content_posts_versions": "read",
|
|
10392
|
+
"content_publications_cancel": "write",
|
|
10393
|
+
"content_publications_confirm": "write",
|
|
10394
|
+
"content_publications_get": "read",
|
|
10395
|
+
"content_publications_list": "read",
|
|
10396
|
+
"content_publications_publish": "write",
|
|
10397
|
+
"content_publications_remind": "write",
|
|
10398
|
+
"content_publications_reschedule": "write",
|
|
10399
|
+
"content_publications_schedule": "write",
|
|
10400
|
+
"content_publications_validate": "read",
|
|
10401
|
+
"deployment_alert_create": "write",
|
|
10402
|
+
"deployment_alert_delete": "admin",
|
|
10403
|
+
"deployment_alert_events_list": "read",
|
|
10404
|
+
"deployment_alert_list": "read",
|
|
10405
|
+
"deployment_alert_update": "write",
|
|
10406
|
+
"deployment_analytics_query": "read",
|
|
10407
|
+
"deployment_build_get": "read",
|
|
10408
|
+
"deployment_build_list": "read",
|
|
10409
|
+
"deployment_build_logs": "read",
|
|
10410
|
+
"deployment_canvas_get": "read",
|
|
10411
|
+
"deployment_canvas_move_node": "write",
|
|
10412
|
+
"deployment_cloud_sql_backfill_log_flags": "write",
|
|
10413
|
+
"deployment_cloud_sql_database_attach": "write",
|
|
10414
|
+
"deployment_cloud_sql_database_create": "write",
|
|
10415
|
+
"deployment_cloud_sql_database_delete": "admin",
|
|
10416
|
+
"deployment_cloud_sql_database_detach": "write",
|
|
10417
|
+
"deployment_cloud_sql_database_get": "read",
|
|
10418
|
+
"deployment_cloud_sql_database_list": "read",
|
|
10419
|
+
"deployment_cloud_sql_instance_backup": "write",
|
|
10420
|
+
"deployment_cloud_sql_instance_backup_list": "read",
|
|
10421
|
+
"deployment_cloud_sql_instance_create": "write",
|
|
10422
|
+
"deployment_cloud_sql_instance_delete": "admin",
|
|
10423
|
+
"deployment_cloud_sql_instance_get": "read",
|
|
10424
|
+
"deployment_cloud_sql_instance_list": "read",
|
|
10425
|
+
"deployment_cloud_sql_instance_resize": "write",
|
|
10426
|
+
"deployment_cloud_sql_instance_restore": "admin",
|
|
10427
|
+
"deployment_cloud_sql_logs": "read",
|
|
10428
|
+
"deployment_deployment_cancel": "write",
|
|
10429
|
+
"deployment_deployment_get": "read",
|
|
10430
|
+
"deployment_deployment_list": "read",
|
|
10431
|
+
"deployment_domain_add": "admin",
|
|
10432
|
+
"deployment_domain_allowed_list": "read",
|
|
10433
|
+
"deployment_domain_get": "read",
|
|
10434
|
+
"deployment_domain_list": "read",
|
|
10435
|
+
"deployment_domain_list_by_service": "read",
|
|
10436
|
+
"deployment_domain_redirect_www": "admin",
|
|
10437
|
+
"deployment_domain_remove": "admin",
|
|
10438
|
+
"deployment_domain_routes_add": "admin",
|
|
10439
|
+
"deployment_domain_routes_list": "read",
|
|
10440
|
+
"deployment_domain_routes_remove": "admin",
|
|
10441
|
+
"deployment_domain_routes_update": "admin",
|
|
10442
|
+
"deployment_domain_verify": "write",
|
|
10443
|
+
"deployment_environment_create": "write",
|
|
10444
|
+
"deployment_environment_delete": "admin",
|
|
10445
|
+
"deployment_environment_fork": "write",
|
|
10446
|
+
"deployment_environment_get": "read",
|
|
10447
|
+
"deployment_environment_list": "read",
|
|
10448
|
+
"deployment_environment_reconcile": "write",
|
|
10449
|
+
"deployment_environment_update": "write",
|
|
10450
|
+
"deployment_events_list_by_environment": "read",
|
|
10451
|
+
"deployment_events_list_by_service": "read",
|
|
10452
|
+
"deployment_job_run": "write",
|
|
10453
|
+
"deployment_job_run_logs": "read",
|
|
10454
|
+
"deployment_job_runs_list": "read",
|
|
10455
|
+
"deployment_managed_service_backup": "write",
|
|
10456
|
+
"deployment_managed_service_backup_list": "read",
|
|
10457
|
+
"deployment_managed_service_connect_info": "read",
|
|
10458
|
+
"deployment_managed_service_delete": "admin",
|
|
10459
|
+
"deployment_managed_service_get": "read",
|
|
10460
|
+
"deployment_managed_service_list": "read",
|
|
10461
|
+
"deployment_managed_service_logs": "read",
|
|
10462
|
+
"deployment_managed_service_provision": "write",
|
|
10463
|
+
"deployment_managed_service_reconcile": "write",
|
|
10464
|
+
"deployment_managed_service_resize": "write",
|
|
10465
|
+
"deployment_managed_service_restore": "admin",
|
|
10466
|
+
"deployment_managed_service_start": "write",
|
|
10467
|
+
"deployment_managed_service_stop": "write",
|
|
10468
|
+
"deployment_managed_service_types": "read",
|
|
10469
|
+
"deployment_metrics_get": "read",
|
|
10470
|
+
"deployment_preview_environment_create": "write",
|
|
10471
|
+
"deployment_preview_environment_delete": "admin",
|
|
10472
|
+
"deployment_preview_environment_list": "read",
|
|
10473
|
+
"deployment_preview_policy_get": "read",
|
|
10474
|
+
"deployment_preview_policy_set": "admin",
|
|
10475
|
+
"deployment_service_create": "write",
|
|
10476
|
+
"deployment_service_delete": "admin",
|
|
10477
|
+
"deployment_service_exec": "admin",
|
|
10478
|
+
"deployment_service_get": "read",
|
|
10479
|
+
"deployment_service_list": "read",
|
|
10480
|
+
"deployment_service_logs": "read",
|
|
10481
|
+
"deployment_service_redeploy": "write",
|
|
10482
|
+
"deployment_service_restart": "write",
|
|
10483
|
+
"deployment_service_rollback": "write",
|
|
10484
|
+
"deployment_service_scale": "write",
|
|
10485
|
+
"deployment_service_update": "write",
|
|
10486
|
+
"deployment_service_wake": "write",
|
|
10487
|
+
"deployment_ssh_command": "read",
|
|
10488
|
+
"deployment_ssh_key_delete": "admin",
|
|
10489
|
+
"deployment_ssh_key_list": "read",
|
|
10490
|
+
"deployment_ssh_key_register": "admin",
|
|
10491
|
+
"deployment_suspension_get": "read",
|
|
10492
|
+
"deployment_variable_list": "read",
|
|
10493
|
+
"deployment_variable_list_env": "read",
|
|
10494
|
+
"deployment_variable_list_product": "read",
|
|
10495
|
+
"deployment_variable_set": "write",
|
|
10496
|
+
"deployment_variable_set_env": "write",
|
|
10497
|
+
"deployment_variable_set_product": "admin",
|
|
10498
|
+
"deployment_variable_unset": "write",
|
|
10499
|
+
"deployment_variable_unset_env": "write",
|
|
10500
|
+
"deployment_variable_unset_product": "admin",
|
|
10501
|
+
"deployment_vcs_branch_list": "read",
|
|
10502
|
+
"deployment_vcs_connection_list": "read",
|
|
10503
|
+
"deployment_vcs_repo_list": "read",
|
|
10504
|
+
"deployment_volume_create": "write",
|
|
10505
|
+
"deployment_volume_delete": "admin",
|
|
10506
|
+
"deployment_volume_detach": "write",
|
|
10507
|
+
"deployment_volume_get": "read",
|
|
10508
|
+
"deployment_volume_list": "read",
|
|
10509
|
+
"deployment_volume_resize": "write",
|
|
10510
|
+
"mail_apikey_create": "write",
|
|
10511
|
+
"mail_apikey_delete": "admin",
|
|
10512
|
+
"mail_apikey_list": "read",
|
|
10513
|
+
"mail_audience_create": "write",
|
|
10514
|
+
"mail_audience_delete": "admin",
|
|
10515
|
+
"mail_audience_get": "read",
|
|
10516
|
+
"mail_audience_list": "read",
|
|
10517
|
+
"mail_audience_update": "write",
|
|
10518
|
+
"mail_broadcast_cancel": "write",
|
|
10519
|
+
"mail_broadcast_create": "write",
|
|
10520
|
+
"mail_broadcast_delete": "admin",
|
|
10521
|
+
"mail_broadcast_get": "read",
|
|
10522
|
+
"mail_broadcast_list": "read",
|
|
10523
|
+
"mail_broadcast_queue": "write",
|
|
10524
|
+
"mail_broadcast_stats": "read",
|
|
10525
|
+
"mail_broadcast_update": "write",
|
|
10526
|
+
"mail_contact_create": "write",
|
|
10527
|
+
"mail_contact_delete": "admin",
|
|
10528
|
+
"mail_contact_get": "read",
|
|
10529
|
+
"mail_contact_list": "read",
|
|
10530
|
+
"mail_contact_update": "write",
|
|
10531
|
+
"mail_domain_allowed_list": "read",
|
|
10532
|
+
"mail_domain_create": "write",
|
|
10533
|
+
"mail_domain_delete": "admin",
|
|
10534
|
+
"mail_domain_get": "read",
|
|
10535
|
+
"mail_domain_list": "read",
|
|
10536
|
+
"mail_domain_update": "write",
|
|
10537
|
+
"mail_domain_verify": "write",
|
|
10538
|
+
"mail_email_cancel": "write",
|
|
10539
|
+
"mail_email_get": "read",
|
|
10540
|
+
"mail_email_send": "write",
|
|
10541
|
+
"mail_email_send_batch": "write",
|
|
10542
|
+
"mail_email_update": "write",
|
|
10543
|
+
"mail_reputation_get": "read",
|
|
10544
|
+
"mail_stats_get": "read",
|
|
10545
|
+
"mail_suppression_add": "write",
|
|
10546
|
+
"mail_suppression_list": "read",
|
|
10547
|
+
"mail_suppression_remove": "admin",
|
|
10548
|
+
"mail_template_create": "write",
|
|
10549
|
+
"mail_template_delete": "admin",
|
|
10550
|
+
"mail_template_get": "read",
|
|
10551
|
+
"mail_template_list": "read",
|
|
10552
|
+
"mail_template_publish": "write",
|
|
10553
|
+
"mail_template_update": "write",
|
|
10554
|
+
"mail_usage_get": "read",
|
|
10555
|
+
"mail_webhook_create": "write",
|
|
10556
|
+
"mail_webhook_delete": "admin",
|
|
10557
|
+
"mail_webhook_deliveries_list": "read",
|
|
10558
|
+
"mail_webhook_get": "read",
|
|
10559
|
+
"mail_webhook_list": "read",
|
|
10560
|
+
"mail_webhook_update": "write",
|
|
10561
|
+
"observe_alerts_create": "write",
|
|
10562
|
+
"observe_alerts_delete": "admin",
|
|
10563
|
+
"observe_alerts_events_list": "read",
|
|
10564
|
+
"observe_alerts_get": "read",
|
|
10565
|
+
"observe_alerts_list": "read",
|
|
10566
|
+
"observe_alerts_update": "write",
|
|
10567
|
+
"observe_artifacts_delete": "admin",
|
|
10568
|
+
"observe_artifacts_list": "read",
|
|
10569
|
+
"observe_artifacts_resolve": "read",
|
|
10570
|
+
"observe_issues_archive": "admin",
|
|
10571
|
+
"observe_issues_assign": "write",
|
|
10572
|
+
"observe_issues_event": "read",
|
|
10573
|
+
"observe_issues_events": "read",
|
|
10574
|
+
"observe_issues_get": "read",
|
|
10575
|
+
"observe_issues_histogram": "read",
|
|
10576
|
+
"observe_issues_list": "read",
|
|
10577
|
+
"observe_issues_resolve": "write",
|
|
10578
|
+
"observe_keys_create": "write",
|
|
10579
|
+
"observe_keys_list": "read",
|
|
10580
|
+
"observe_keys_revoke": "admin",
|
|
10581
|
+
"observe_logs_facets": "read",
|
|
10582
|
+
"observe_logs_search": "read",
|
|
10583
|
+
"observe_logs_tail": "read",
|
|
10584
|
+
"observe_metrics_list": "read",
|
|
10585
|
+
"observe_metrics_query": "read",
|
|
10586
|
+
"observe_traces_get": "read",
|
|
10587
|
+
"observe_traces_search": "read",
|
|
10588
|
+
"observe_webhooks_create": "write",
|
|
10589
|
+
"observe_webhooks_delete": "admin",
|
|
10590
|
+
"observe_webhooks_deliveries_list": "read",
|
|
10591
|
+
"observe_webhooks_get": "read",
|
|
10592
|
+
"observe_webhooks_list": "read",
|
|
10593
|
+
"observe_webhooks_redeliver": "write",
|
|
10594
|
+
"observe_webhooks_rotate_secret": "write",
|
|
10595
|
+
"observe_webhooks_update": "write",
|
|
10596
|
+
"organization_auth_me": "read",
|
|
10597
|
+
"organization_billing_budgets_get": "read",
|
|
10598
|
+
"organization_billing_budgets_set": "write",
|
|
10599
|
+
"organization_billing_caps_clear": "write",
|
|
10600
|
+
"organization_billing_caps_set": "write",
|
|
10601
|
+
"organization_bindings_list": "read",
|
|
10602
|
+
"organization_clickup_install": "read",
|
|
10603
|
+
"organization_clickup_list-installations": "read",
|
|
10604
|
+
"organization_cloudflare_install": "read",
|
|
10605
|
+
"organization_connectors_approve-request": "write",
|
|
10606
|
+
"organization_connectors_attach": "write",
|
|
10607
|
+
"organization_connectors_delete": "admin",
|
|
10608
|
+
"organization_connectors_deny-request": "write",
|
|
10609
|
+
"organization_connectors_detach": "write",
|
|
10610
|
+
"organization_connectors_list": "read",
|
|
10611
|
+
"organization_connectors_list-attachments": "read",
|
|
10612
|
+
"organization_connectors_list-available": "read",
|
|
10613
|
+
"organization_connectors_list-org": "read",
|
|
10614
|
+
"organization_connectors_list-requests": "read",
|
|
10615
|
+
"organization_connectors_remove": "admin",
|
|
10616
|
+
"organization_connectors_request": "write",
|
|
10617
|
+
"organization_create": "write",
|
|
10618
|
+
"organization_domains_add": "write",
|
|
10619
|
+
"organization_domains_get": "read",
|
|
10620
|
+
"organization_domains_list": "read",
|
|
10621
|
+
"organization_domains_remove": "admin",
|
|
10622
|
+
"organization_domains_set-mode": "write",
|
|
10623
|
+
"organization_extensions_list-installed": "read",
|
|
10624
|
+
"organization_feedback_submit": "write",
|
|
10625
|
+
"organization_gdrive_install": "read",
|
|
10626
|
+
"organization_github_install": "read",
|
|
10627
|
+
"organization_github_list-installations": "read",
|
|
10628
|
+
"organization_googleads_install": "read",
|
|
10629
|
+
"organization_list": "read",
|
|
10630
|
+
"organization_member_accept-invite": "write",
|
|
10631
|
+
"organization_member_invite": "write",
|
|
10632
|
+
"organization_member_list": "read",
|
|
10633
|
+
"organization_member_list-invitations": "read",
|
|
10634
|
+
"organization_member_list-product-access": "read",
|
|
10635
|
+
"organization_member_remove": "admin",
|
|
10636
|
+
"organization_member_revoke-invitation": "admin",
|
|
10637
|
+
"organization_member_set-role": "admin",
|
|
10638
|
+
"organization_member_share-product": "admin",
|
|
10639
|
+
"organization_member_unshare-product": "admin",
|
|
10640
|
+
"organization_members_assign-role": "admin",
|
|
10641
|
+
"organization_permission_catalog": "read",
|
|
10642
|
+
"organization_product_create": "write",
|
|
10643
|
+
"organization_product_list": "read",
|
|
10644
|
+
"organization_product_list-access": "read",
|
|
10645
|
+
"organization_product_list-members": "read",
|
|
10646
|
+
"organization_product_list-roles": "read",
|
|
10647
|
+
"organization_product_revoke-access": "write",
|
|
10648
|
+
"organization_product_select": "read",
|
|
10649
|
+
"organization_product_set-access": "write",
|
|
10650
|
+
"organization_product_update": "write",
|
|
10651
|
+
"organization_public-keys_create": "write",
|
|
10652
|
+
"organization_public-keys_list": "read",
|
|
10653
|
+
"organization_public-keys_revoke": "admin",
|
|
10654
|
+
"organization_public-keys_update-scope": "write",
|
|
10655
|
+
"organization_public-routes_list": "read",
|
|
10656
|
+
"organization_roles_create": "write",
|
|
10657
|
+
"organization_roles_delete": "admin",
|
|
10658
|
+
"organization_roles_get": "read",
|
|
10659
|
+
"organization_roles_list": "read",
|
|
10660
|
+
"organization_roles_update": "write",
|
|
10661
|
+
"organization_security_mfa_enable": "write",
|
|
10662
|
+
"organization_select": "read",
|
|
10663
|
+
"organization_support_thread_create": "write",
|
|
10664
|
+
"organization_support_thread_get": "read",
|
|
10665
|
+
"organization_support_thread_reply": "write",
|
|
10666
|
+
"organization_support_threads_list": "read",
|
|
10667
|
+
"realtime_archive_export": "write",
|
|
10668
|
+
"realtime_archive_export_status": "read",
|
|
10669
|
+
"realtime_archive_get": "read",
|
|
10670
|
+
"realtime_grant_create": "write",
|
|
10671
|
+
"realtime_grant_list": "read",
|
|
10672
|
+
"realtime_grant_revoke": "admin",
|
|
10673
|
+
"realtime_history_get": "read",
|
|
10674
|
+
"realtime_messages_publish": "write",
|
|
10675
|
+
"realtime_namespace_create": "write",
|
|
10676
|
+
"realtime_namespace_delete": "admin",
|
|
10677
|
+
"realtime_namespace_get": "read",
|
|
10678
|
+
"realtime_namespace_list": "read",
|
|
10679
|
+
"realtime_namespace_update": "write",
|
|
10680
|
+
"realtime_presence_enter": "write",
|
|
10681
|
+
"realtime_presence_get": "read",
|
|
10682
|
+
"realtime_presence_leave": "write",
|
|
10683
|
+
"realtime_presence_stats": "read",
|
|
10684
|
+
"realtime_presence_update": "write",
|
|
10685
|
+
"realtime_public_access_status": "read",
|
|
10686
|
+
"realtime_status_get": "read",
|
|
10687
|
+
"realtime_tokens_create": "write",
|
|
10688
|
+
"realtime_webhook_create": "write",
|
|
10689
|
+
"realtime_webhook_delete": "admin",
|
|
10690
|
+
"realtime_webhook_deliveries_list": "read",
|
|
10691
|
+
"realtime_webhook_get": "read",
|
|
10692
|
+
"realtime_webhook_list": "read",
|
|
10693
|
+
"realtime_webhook_secret_rotate": "write",
|
|
10694
|
+
"realtime_webhook_update": "write",
|
|
10695
|
+
"support_agent_create": "write",
|
|
10696
|
+
"support_agent_get": "read",
|
|
10697
|
+
"support_agent_list": "read",
|
|
10698
|
+
"support_agent_update": "write",
|
|
10699
|
+
"support_attachment_create": "write",
|
|
10700
|
+
"support_attachment_finalize": "write",
|
|
10701
|
+
"support_label_create": "write",
|
|
10702
|
+
"support_label_list": "read",
|
|
10703
|
+
"support_message_create": "write",
|
|
10704
|
+
"support_message_list": "read",
|
|
10705
|
+
"support_response_escalate": "write",
|
|
10706
|
+
"support_response_get": "read",
|
|
10707
|
+
"support_response_list": "read",
|
|
10708
|
+
"support_rule_create": "write",
|
|
10709
|
+
"support_rule_delete": "admin",
|
|
10710
|
+
"support_rule_get": "read",
|
|
10711
|
+
"support_rule_list": "read",
|
|
10712
|
+
"support_rule_update": "write",
|
|
10713
|
+
"support_status_archive": "admin",
|
|
10714
|
+
"support_status_create": "write",
|
|
10715
|
+
"support_status_list": "read",
|
|
10716
|
+
"support_status_update": "write",
|
|
10717
|
+
"support_survey_archive": "admin",
|
|
10718
|
+
"support_survey_create": "write",
|
|
10719
|
+
"support_survey_get": "read",
|
|
10720
|
+
"support_survey_list": "read",
|
|
10721
|
+
"support_survey_publish": "write",
|
|
10722
|
+
"support_survey_stats": "read",
|
|
10723
|
+
"support_survey_unpublish": "write",
|
|
10724
|
+
"support_survey_update": "write",
|
|
10725
|
+
"support_thread_assign": "write",
|
|
10726
|
+
"support_thread_create": "write",
|
|
10727
|
+
"support_thread_get": "read",
|
|
10728
|
+
"support_thread_list": "read",
|
|
10729
|
+
"support_thread_status_set": "write",
|
|
10730
|
+
"support_thread_update": "write",
|
|
10731
|
+
"support_webhook_create": "write",
|
|
10732
|
+
"support_webhook_delete": "admin",
|
|
10733
|
+
"support_webhook_deliveries_list": "read",
|
|
10734
|
+
"support_webhook_get": "read",
|
|
10735
|
+
"support_webhook_list": "read",
|
|
10736
|
+
"support_webhook_redeliver": "write",
|
|
10737
|
+
"support_webhook_rotate_secret": "write",
|
|
10738
|
+
"support_webhook_update": "write",
|
|
10739
|
+
"tracking_domains_create": "write",
|
|
10740
|
+
"tracking_domains_delete": "admin",
|
|
10741
|
+
"tracking_domains_get": "read",
|
|
10742
|
+
"tracking_domains_list": "read",
|
|
10743
|
+
"tracking_domains_verify": "write",
|
|
10744
|
+
"tracking_event-names_archive": "admin",
|
|
10745
|
+
"tracking_event-names_list": "read",
|
|
10746
|
+
"tracking_event-names_unarchive": "admin",
|
|
10747
|
+
"tracking_googleads_connection_status": "read",
|
|
10748
|
+
"tracking_googleads_conversion_actions": "read",
|
|
10749
|
+
"tracking_googleads_feedback_config_get": "read",
|
|
10750
|
+
"tracking_googleads_feedback_config_set": "write",
|
|
10751
|
+
"tracking_googleads_feedback_run": "write",
|
|
10752
|
+
"tracking_googleads_feedback_status": "read",
|
|
10753
|
+
"tracking_googleads_feedback_uploads": "read",
|
|
10754
|
+
"tracking_googleads_roas_report": "read",
|
|
10755
|
+
"tracking_googleads_sync_now": "write",
|
|
10756
|
+
"tracking_googleads_tracking_health": "read",
|
|
10757
|
+
"tracking_googleads_us_vs_platform": "read",
|
|
10758
|
+
"tracking_identity_health": "read",
|
|
10759
|
+
"tracking_install-domains_create": "write",
|
|
10760
|
+
"tracking_install-domains_delete": "admin",
|
|
10761
|
+
"tracking_install-domains_list": "read",
|
|
10762
|
+
"tracking_link-domains_create": "write",
|
|
10763
|
+
"tracking_link-domains_delete": "admin",
|
|
10764
|
+
"tracking_link-domains_list": "read",
|
|
10765
|
+
"tracking_live-events_list": "read",
|
|
10766
|
+
"tracking_profiles_delete": "admin",
|
|
10767
|
+
"tracking_profiles_export": "read",
|
|
10768
|
+
"tracking_profiles_get": "read",
|
|
10769
|
+
"tracking_profiles_list": "read",
|
|
10770
|
+
"tracking_reports_attributed_journey": "read",
|
|
10771
|
+
"tracking_reports_event_volume": "read",
|
|
10772
|
+
"tracking_reports_revenue_by_source": "read",
|
|
10773
|
+
"tracking_reports_source_people": "read",
|
|
10774
|
+
"tracking_snippets_get": "read",
|
|
10775
|
+
"users_apikeys_create": "write",
|
|
10776
|
+
"users_apikeys_list": "read",
|
|
10777
|
+
"users_apikeys_revoke": "admin",
|
|
10778
|
+
"users_audit_list": "read",
|
|
10779
|
+
"users_config_get": "read",
|
|
10780
|
+
"users_config_upsert": "write",
|
|
10781
|
+
"users_factors_list": "read",
|
|
10782
|
+
"users_factors_reset": "write",
|
|
10783
|
+
"users_keys_list": "read",
|
|
10784
|
+
"users_keys_revoke": "admin",
|
|
10785
|
+
"users_keys_rotate": "write",
|
|
10786
|
+
"users_ops_retention_get": "read",
|
|
10787
|
+
"users_ops_slo_get": "read",
|
|
10788
|
+
"users_passkeys_list": "read",
|
|
10789
|
+
"users_passkeys_revoke": "admin",
|
|
10790
|
+
"users_sessions_get": "read",
|
|
10791
|
+
"users_sessions_impersonate": "write",
|
|
10792
|
+
"users_sessions_list": "read",
|
|
10793
|
+
"users_sessions_revoke": "admin",
|
|
10794
|
+
"users_stats_get": "read",
|
|
10795
|
+
"users_users_ban": "write",
|
|
10796
|
+
"users_users_create": "write",
|
|
10797
|
+
"users_users_delete": "admin",
|
|
10798
|
+
"users_users_erase": "write",
|
|
10799
|
+
"users_users_export": "read",
|
|
10800
|
+
"users_users_get": "read",
|
|
10801
|
+
"users_users_import": "write",
|
|
10802
|
+
"users_users_invite": "write",
|
|
10803
|
+
"users_users_list": "read",
|
|
10804
|
+
"users_users_set_primary_identifier": "write",
|
|
10805
|
+
"users_users_unban": "write",
|
|
10806
|
+
"users_users_update": "write",
|
|
10807
|
+
"users_waitlist_erase": "write",
|
|
10808
|
+
"users_waitlist_funnel": "write",
|
|
10809
|
+
"users_waitlist_import": "write",
|
|
10810
|
+
"users_waitlist_invite": "write",
|
|
10811
|
+
"users_waitlist_list": "read",
|
|
10812
|
+
"users_webhooks_create": "write",
|
|
10813
|
+
"users_webhooks_delete": "admin",
|
|
10814
|
+
"users_webhooks_deliveries_list": "read",
|
|
10815
|
+
"users_webhooks_get": "read",
|
|
10816
|
+
"users_webhooks_list": "read",
|
|
10817
|
+
"users_webhooks_rotate_secret": "write",
|
|
10818
|
+
"users_webhooks_update": "write",
|
|
10819
|
+
"waitlist_config_get": "read",
|
|
10820
|
+
"waitlist_config_upsert": "write",
|
|
10821
|
+
"waitlist_embed_get": "read",
|
|
10822
|
+
"waitlist_invites_send": "write",
|
|
10823
|
+
"waitlist_signups_erase": "write",
|
|
10824
|
+
"waitlist_signups_funnel": "read",
|
|
10825
|
+
"waitlist_signups_list": "read"
|
|
10826
|
+
};
|
|
10827
|
+
|
|
10828
|
+
// src/runtime/permission-match.ts
|
|
10829
|
+
var LEVELS = ["read", "write", "admin"];
|
|
10830
|
+
var LEVEL_PREFIX = "level:";
|
|
10831
|
+
function isLevelPattern(p) {
|
|
10832
|
+
return typeof p === "string" && p.startsWith(LEVEL_PREFIX) && LEVELS.includes(p.slice(LEVEL_PREFIX.length));
|
|
10833
|
+
}
|
|
10834
|
+
function matchPermission(op, grants) {
|
|
10835
|
+
const key = typeof op === "string" ? op : op.key;
|
|
10836
|
+
const level = typeof op === "string" ? void 0 : op.level;
|
|
10837
|
+
if (!key) return false;
|
|
10838
|
+
const keySegments = key.split("_");
|
|
10839
|
+
for (const grant of grants) {
|
|
10840
|
+
if (isLevelPattern(grant)) {
|
|
10841
|
+
if (level !== void 0 && grant === LEVEL_PREFIX + level) return true;
|
|
10842
|
+
continue;
|
|
10843
|
+
}
|
|
10844
|
+
if (matchSingle(keySegments, grant)) return true;
|
|
10845
|
+
}
|
|
10846
|
+
return false;
|
|
10847
|
+
}
|
|
10848
|
+
function matchSingle(keySegments, grant) {
|
|
10849
|
+
const grantSegments = grant.split("_");
|
|
10850
|
+
const m = grantSegments.length;
|
|
10851
|
+
const n = keySegments.length;
|
|
10852
|
+
const trailing = grantSegments[m - 1] === "*";
|
|
10853
|
+
if (trailing) {
|
|
10854
|
+
if (n < m) return false;
|
|
10855
|
+
for (let i = 0; i < m - 1; i++) {
|
|
10856
|
+
const g = grantSegments[i];
|
|
10857
|
+
if (g !== "*" && g !== keySegments[i]) return false;
|
|
10858
|
+
}
|
|
10859
|
+
return true;
|
|
10860
|
+
}
|
|
10861
|
+
if (n !== m) return false;
|
|
10862
|
+
for (let i = 0; i < m; i++) {
|
|
10863
|
+
const g = grantSegments[i];
|
|
10864
|
+
if (g !== "*" && g !== keySegments[i]) return false;
|
|
10865
|
+
}
|
|
10866
|
+
return true;
|
|
10867
|
+
}
|
|
10868
|
+
function evaluate(op, perms) {
|
|
10869
|
+
return matchPermission(op, perms.allow) && !matchPermission(op, perms.deny);
|
|
10870
|
+
}
|
|
10871
|
+
|
|
10872
|
+
// src/runtime/access.ts
|
|
10873
|
+
var ME_OPERATION_KEY = "organization_product_me";
|
|
10874
|
+
var ME_ROUTE = {
|
|
10875
|
+
method: "GET",
|
|
10876
|
+
path: "/governance/api/v1/products/:productId/me"};
|
|
10877
|
+
var ELEVATED_ROLES = /* @__PURE__ */ new Set(["owner", "admin"]);
|
|
10878
|
+
function findMeBinding(bindings2) {
|
|
10879
|
+
for (const resources of Object.values(bindings2)) {
|
|
10880
|
+
for (const actions of Object.values(resources)) {
|
|
10881
|
+
for (const binding of Object.values(actions)) {
|
|
10882
|
+
if (binding.operationKey === ME_OPERATION_KEY) return binding;
|
|
10883
|
+
}
|
|
10884
|
+
}
|
|
10885
|
+
}
|
|
10886
|
+
return void 0;
|
|
10887
|
+
}
|
|
10888
|
+
function asStringArray(value) {
|
|
10889
|
+
return Array.isArray(value) ? value.filter((v) => typeof v === "string") : [];
|
|
10890
|
+
}
|
|
10891
|
+
function asRoleType(value) {
|
|
10892
|
+
return value === "system" || value === "custom" ? value : null;
|
|
10893
|
+
}
|
|
10894
|
+
function normalize(raw) {
|
|
10895
|
+
const r = typeof raw === "object" && raw !== null ? raw : {};
|
|
10896
|
+
return {
|
|
10897
|
+
role: typeof r.role === "string" ? r.role : "",
|
|
10898
|
+
roleId: typeof r.roleId === "string" ? r.roleId : null,
|
|
10899
|
+
roleName: typeof r.roleName === "string" ? r.roleName : null,
|
|
10900
|
+
roleType: asRoleType(r.roleType),
|
|
10901
|
+
allow: asStringArray(r.allow),
|
|
10902
|
+
deny: asStringArray(r.deny)
|
|
10903
|
+
};
|
|
10904
|
+
}
|
|
10905
|
+
function createAccess(opts, bindings2, operations2) {
|
|
10906
|
+
let snapshot;
|
|
10907
|
+
let inflight;
|
|
10908
|
+
let state = "idle";
|
|
10909
|
+
const subscribers = /* @__PURE__ */ new Set();
|
|
10910
|
+
function setState(next) {
|
|
10911
|
+
if (next === state) return;
|
|
10912
|
+
state = next;
|
|
10913
|
+
for (const cb of [...subscribers]) cb();
|
|
10914
|
+
}
|
|
10915
|
+
return {
|
|
10916
|
+
load() {
|
|
10917
|
+
if (snapshot) return Promise.resolve(snapshot);
|
|
10918
|
+
if (inflight) return inflight;
|
|
10919
|
+
setState("loading");
|
|
10920
|
+
const binding = findMeBinding(bindings2) ?? ME_ROUTE;
|
|
10921
|
+
const request = executeRequest(opts, binding, { productId: opts.productId }).then(
|
|
10922
|
+
(raw) => {
|
|
10923
|
+
const next = normalize(raw);
|
|
10924
|
+
snapshot = next;
|
|
10925
|
+
inflight = void 0;
|
|
10926
|
+
setState("ready");
|
|
10927
|
+
return next;
|
|
10928
|
+
},
|
|
10929
|
+
(err) => {
|
|
10930
|
+
inflight = void 0;
|
|
10931
|
+
setState("error");
|
|
10932
|
+
throw err;
|
|
10933
|
+
}
|
|
10934
|
+
);
|
|
10935
|
+
inflight = request;
|
|
10936
|
+
return request;
|
|
10937
|
+
},
|
|
10938
|
+
can(op) {
|
|
10939
|
+
if (state !== "ready" || !snapshot) return false;
|
|
10940
|
+
if (ELEVATED_ROLES.has(snapshot.role)) return true;
|
|
10941
|
+
const key = typeof op === "string" ? op : op.operationKey;
|
|
10942
|
+
const level = typeof op === "string" ? operations2[key] : op.level;
|
|
10943
|
+
const subject = level === void 0 ? { key } : { key, level };
|
|
10944
|
+
return evaluate(subject, { allow: snapshot.allow, deny: snapshot.deny });
|
|
10945
|
+
},
|
|
10946
|
+
get role() {
|
|
10947
|
+
return snapshot?.role;
|
|
10948
|
+
},
|
|
10949
|
+
get state() {
|
|
10950
|
+
return state;
|
|
10951
|
+
},
|
|
10952
|
+
invalidate() {
|
|
10953
|
+
snapshot = void 0;
|
|
10954
|
+
inflight = void 0;
|
|
10955
|
+
setState("idle");
|
|
10956
|
+
},
|
|
10957
|
+
subscribe(cb) {
|
|
10958
|
+
subscribers.add(cb);
|
|
10959
|
+
return () => {
|
|
10960
|
+
subscribers.delete(cb);
|
|
10961
|
+
};
|
|
10962
|
+
}
|
|
10963
|
+
};
|
|
10964
|
+
}
|
|
10965
|
+
|
|
10280
10966
|
// src/runtime/createLesslyApp.ts
|
|
10281
10967
|
function actionFn(opts, binding) {
|
|
10282
10968
|
return Object.assign(
|
|
@@ -10308,7 +10994,11 @@ function namespaceProxy(opts, resources) {
|
|
|
10308
10994
|
function createLesslyApp(opts) {
|
|
10309
10995
|
const map = bindings;
|
|
10310
10996
|
const nsCache = {};
|
|
10997
|
+
let accessApi;
|
|
10311
10998
|
const base = {
|
|
10999
|
+
get access() {
|
|
11000
|
+
return accessApi ??= createAccess(opts, map, operations);
|
|
11001
|
+
},
|
|
10312
11002
|
// The whole streaming surface of the client. Streams are NOT reachable through the request
|
|
10313
11003
|
// proxy: a socket is not a promise-returning call, and hanging one off `sdk.<ns>.<res>.<act>`
|
|
10314
11004
|
// would make two very different lifetimes look identical at the call site. The generated
|
|
@@ -10343,5 +11033,6 @@ function createLesslyApp(opts) {
|
|
|
10343
11033
|
exports.LesslyApiError = LesslyApiError;
|
|
10344
11034
|
exports.connectStream = connectStream;
|
|
10345
11035
|
exports.createLesslyApp = createLesslyApp;
|
|
11036
|
+
exports.isAccessDenied = isAccessDenied;
|
|
10346
11037
|
//# sourceMappingURL=index.cjs.map
|
|
10347
11038
|
//# sourceMappingURL=index.cjs.map
|