@opengeni/contracts 2.6.0-canary.0 → 2.9.2-canary.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/agent-authored-durable-text.d.ts +3 -0
- package/dist/agent-topology.d.ts +292 -0
- package/dist/atlassian.js +2 -1
- package/dist/chunk-4IVHBXRI.js +221 -0
- package/dist/chunk-4IVHBXRI.js.map +1 -0
- package/dist/{chunk-MJ3K6ICH.js → chunk-AWNGBY5I.js} +7153 -6946
- package/dist/chunk-AWNGBY5I.js.map +1 -0
- package/dist/company-profile.d.ts +275 -1
- package/dist/connection-authority.js +2 -1
- package/dist/connection-authority.js.map +1 -1
- package/dist/google-drive.js +2 -1
- package/dist/google-drive.js.map +1 -1
- package/dist/index.d.ts +273 -140
- package/dist/index.js +107 -5
- package/dist/managed-auth-session-sets.d.ts +19 -0
- package/dist/managed-auth-session-sets.js +12 -1
- package/dist/managed-auth-session-sets.js.map +1 -1
- package/dist/organization-membership-lifecycle.d.ts +3 -0
- package/dist/permissions.d.ts +1 -0
- package/dist/personal-github.js +2 -1
- package/dist/personal-github.js.map +1 -1
- package/dist/session-titles.d.ts +9 -0
- package/dist/session-titles.js +17 -0
- package/dist/session-titles.js.map +1 -0
- package/dist/session-topology-primitives.d.ts +22 -0
- package/dist/work-claims.d.ts +411 -0
- package/package.json +5 -1
- package/src/agent-authored-durable-text.ts +13 -6
- package/src/agent-topology.ts +69 -0
- package/src/company-profile.ts +46 -1
- package/src/index.ts +385 -249
- package/src/managed-auth-session-sets.ts +18 -0
- package/src/permissions.ts +1 -0
- package/src/session-titles.ts +12 -5
- package/src/session-topology-primitives.ts +21 -0
- package/src/work-claims.ts +266 -0
- package/dist/chunk-MJ3K6ICH.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -6,9 +6,11 @@ import {
|
|
|
6
6
|
AGENT_AUTHORED_DURABLE_TEXT_STYLE,
|
|
7
7
|
AGENT_AUTHORED_INSTRUCTION_POLICY_CONTENT_MAX_CHARS,
|
|
8
8
|
AGENT_AUTHORED_INSTRUCTION_POLICY_CONTENT_TOO_LONG_MESSAGE,
|
|
9
|
+
AGENT_AUTHORED_INSTRUCTION_POLICY_STYLE,
|
|
9
10
|
AGENT_AUTHORED_PREFERENCE_CONTENT_MAX_CHARS,
|
|
10
11
|
AGENT_AUTHORED_PREFERENCE_CONTENT_TOO_LONG_MESSAGE,
|
|
11
12
|
AGENT_AUTHORED_REMEMBER_CONTENT_TOO_LONG_MESSAGE,
|
|
13
|
+
AGENT_AUTHORED_SKILL_STYLE,
|
|
12
14
|
API_INTEGRATION_OAUTH_CREDENTIAL_ROLE,
|
|
13
15
|
ATLASSIAN_CREDENTIAL_LABEL,
|
|
14
16
|
ATLASSIAN_CREDENTIAL_ROLE,
|
|
@@ -19,8 +21,6 @@ import {
|
|
|
19
21
|
ATTEMPT_TOOL_CATALOG_MAX_ENTRIES,
|
|
20
22
|
ATTEMPT_TOOL_CATALOG_MAX_PATH_SEGMENTS,
|
|
21
23
|
ATTEMPT_TOOL_CATALOG_VERSION,
|
|
22
|
-
AUTOMATIC_SESSION_TITLE_FALLBACK,
|
|
23
|
-
AUTOMATIC_SESSION_TITLE_MAX_GRAPHEMES,
|
|
24
24
|
AUTOMATION_EVENT_PAYLOAD_MAX_BYTES,
|
|
25
25
|
AUTOMATION_MAX_MATCHED_TRIGGERS,
|
|
26
26
|
AUTOMATION_SESSION_TEMPLATE_MAX_BYTES,
|
|
@@ -297,11 +297,15 @@ import {
|
|
|
297
297
|
CompanyProfileActivationEvent,
|
|
298
298
|
CompanyProfileActivationType,
|
|
299
299
|
CompanyProfileAgentAttempt,
|
|
300
|
+
CompanyProfileAgentAutomaticActivationReceipt,
|
|
300
301
|
CompanyProfileAgentConfirmRequest,
|
|
301
302
|
CompanyProfileAgentConfirmationReceipt,
|
|
302
303
|
CompanyProfileAgentHumanInputPrompt,
|
|
304
|
+
CompanyProfileAgentPolicy,
|
|
305
|
+
CompanyProfileAgentPolicyMode,
|
|
303
306
|
CompanyProfileAgentProposalReceipt,
|
|
304
307
|
CompanyProfileAgentProposalRequest,
|
|
308
|
+
CompanyProfileAgentReviewRequiredReceipt,
|
|
305
309
|
CompanyProfileConflictResponse,
|
|
306
310
|
CompanyProfileContent,
|
|
307
311
|
CompanyProfileDiffRequest,
|
|
@@ -378,6 +382,7 @@ import {
|
|
|
378
382
|
CreateKnowledgeDropRequest,
|
|
379
383
|
CreateKnowledgeMemoryRequest,
|
|
380
384
|
CreateNetworkRouteRequest,
|
|
385
|
+
CreateOrganizationApiKeyRequest,
|
|
381
386
|
CreateOrganizationInvitationRequest,
|
|
382
387
|
CreateOrganizationRequest,
|
|
383
388
|
CreateOrganizationResponse,
|
|
@@ -465,6 +470,8 @@ import {
|
|
|
465
470
|
EnrollmentCredentialsResponse,
|
|
466
471
|
EnrollmentOs,
|
|
467
472
|
EnrollmentSummary,
|
|
473
|
+
EnsureWorkspaceRequest,
|
|
474
|
+
EnsureWorkspaceResponse,
|
|
468
475
|
EntitlementDecision,
|
|
469
476
|
EntitlementValue,
|
|
470
477
|
Entitlements,
|
|
@@ -756,6 +763,7 @@ import {
|
|
|
756
763
|
ListSlackUserLinkAccessRequestsResponse,
|
|
757
764
|
ListUserResourceAuthoritiesQuery,
|
|
758
765
|
ListUserResourceAuthoritiesResponse,
|
|
766
|
+
ListWorkspaceMemberCandidatesResponse,
|
|
759
767
|
ListWorkspaceMembersResponse,
|
|
760
768
|
MAX_NESTED_AGENT_DEPTH,
|
|
761
769
|
MAX_RESOLVED_VARIABLE_SET_ATTACHMENTS,
|
|
@@ -1042,6 +1050,7 @@ import {
|
|
|
1042
1050
|
RunDocumentDefaultCollectionBackfillRequest,
|
|
1043
1051
|
SANDBOX_FILE_ARTIFACT_MAX_BYTES,
|
|
1044
1052
|
SANDBOX_PROVIDER_INSTANCE_ID_FIELDS_BY_BACKEND,
|
|
1053
|
+
SCHEDULED_OCCURRENCE_TASK_LABEL,
|
|
1045
1054
|
SCHEDULED_TASK_ACCEPTED_EXECUTION_MAX_BYTES,
|
|
1046
1055
|
SCHEDULED_TASK_AGENT_CONFIG_MAX_BYTES,
|
|
1047
1056
|
SCHEDULED_TASK_METADATA_MAX_BYTES,
|
|
@@ -1080,7 +1089,6 @@ import {
|
|
|
1080
1089
|
SESSION_MCP_SERVERS_MAX,
|
|
1081
1090
|
SESSION_OPERATION_KEY_MAX_CHARS,
|
|
1082
1091
|
SESSION_SYSTEM_UPDATE_WAKE_CLASS,
|
|
1083
|
-
SESSION_TITLE_MAX_CHARACTERS,
|
|
1084
1092
|
SITE_AUTH_MAINTENANCE_CONNECTION_CONTEXT_KEY,
|
|
1085
1093
|
SITE_AUTH_MAINTENANCE_OPERATION_CONTEXT_KEY,
|
|
1086
1094
|
SLACK_TASK_POLICY_ID_MAX_CHARS,
|
|
@@ -1348,6 +1356,7 @@ import {
|
|
|
1348
1356
|
UpdateAutomationTriggerRequest,
|
|
1349
1357
|
UpdateBrowserIdentityRequest,
|
|
1350
1358
|
UpdateChannelRequest,
|
|
1359
|
+
UpdateCompanyProfileAgentPolicyRequest,
|
|
1351
1360
|
UpdateCompanyProfileRequest,
|
|
1352
1361
|
UpdateConnectionRequest,
|
|
1353
1362
|
UpdateKnowledgeMemoryRequest,
|
|
@@ -1403,6 +1412,8 @@ import {
|
|
|
1403
1412
|
UserResourceGrantStatus,
|
|
1404
1413
|
UserResourceKind,
|
|
1405
1414
|
UserResourceLifecycleGrantMode,
|
|
1415
|
+
VARIABLE_SET_RESERVED_EXACT_NAMES,
|
|
1416
|
+
VARIABLE_SET_RESERVED_PREFIXES,
|
|
1406
1417
|
VIRTUAL_WORKSPACE_ROOT,
|
|
1407
1418
|
VOICE_INPUT_ACCEPTED_MIME_TYPES,
|
|
1408
1419
|
VOICE_INPUT_MAX_DURATION_SECONDS,
|
|
@@ -1449,6 +1460,35 @@ import {
|
|
|
1449
1460
|
WORKSPACE_STATE_MAX_TOPICS,
|
|
1450
1461
|
WORKSPACE_STATE_MEMORY_SAMPLE_LIMIT,
|
|
1451
1462
|
WORKSPACE_STATE_TOPIC_MAX_CHARS,
|
|
1463
|
+
WORK_CLAIM_ACTIVE_SESSION_CAP,
|
|
1464
|
+
WORK_CLAIM_CANONICAL_KEY_MAX_BYTES,
|
|
1465
|
+
WORK_CLAIM_DISCOVERY_DEFAULT_LIMIT,
|
|
1466
|
+
WORK_CLAIM_DISCOVERY_LIMIT,
|
|
1467
|
+
WORK_CLAIM_DISPLAY_LABEL_MAX_BYTES,
|
|
1468
|
+
WORK_CLAIM_NAMESPACE_MAX_BYTES,
|
|
1469
|
+
WORK_CLAIM_VERSION_VALUE_MAX_BYTES,
|
|
1470
|
+
WORK_DISCOVERY_QUERY_MAX_CHARS,
|
|
1471
|
+
WORK_DISCOVERY_RECENT_HOURS_MAX,
|
|
1472
|
+
WorkClaim,
|
|
1473
|
+
WorkClaimCanonicalKey,
|
|
1474
|
+
WorkClaimDiscoverySummary,
|
|
1475
|
+
WorkClaimDisplayLabel,
|
|
1476
|
+
WorkClaimMutationKind,
|
|
1477
|
+
WorkClaimMutationResult,
|
|
1478
|
+
WorkClaimNamespace,
|
|
1479
|
+
WorkClaimProvenance,
|
|
1480
|
+
WorkClaimReleaseReason,
|
|
1481
|
+
WorkClaimRole,
|
|
1482
|
+
WorkClaimState,
|
|
1483
|
+
WorkClaimSubjectFilter,
|
|
1484
|
+
WorkClaimSubjectType,
|
|
1485
|
+
WorkClaimVersionKind,
|
|
1486
|
+
WorkClaimVersionValue,
|
|
1487
|
+
WorkDiscoveryMatch,
|
|
1488
|
+
WorkDiscoveryMatchClass,
|
|
1489
|
+
WorkDiscoveryMatchedField,
|
|
1490
|
+
WorkDiscoveryProjection,
|
|
1491
|
+
WorkDiscoveryScoreBand,
|
|
1452
1492
|
Workspace,
|
|
1453
1493
|
WorkspaceArtifact,
|
|
1454
1494
|
WorkspaceArtifactContentResponse,
|
|
@@ -1531,6 +1571,7 @@ import {
|
|
|
1531
1571
|
WorkspaceLearningSourceOverrides,
|
|
1532
1572
|
WorkspaceLearningSourceRef,
|
|
1533
1573
|
WorkspaceMember,
|
|
1574
|
+
WorkspaceMemberCandidate,
|
|
1534
1575
|
WorkspaceMemberRole,
|
|
1535
1576
|
WorkspaceMemoryPromptMode,
|
|
1536
1577
|
WorkspaceMemorySearchMode,
|
|
@@ -1618,13 +1659,15 @@ import {
|
|
|
1618
1659
|
mergeToolRefs,
|
|
1619
1660
|
metadataWithTurnExecutionPolicyV1,
|
|
1620
1661
|
networkRoutePlacementCompatibilityIssue,
|
|
1621
|
-
normalizeAutomaticSessionTitle,
|
|
1622
1662
|
normalizeCompanyProfileStableKey,
|
|
1623
1663
|
normalizePreferenceRegistryStableKey,
|
|
1624
1664
|
normalizeRepositorySubpath,
|
|
1625
1665
|
normalizeRepositoryTransportUri,
|
|
1626
1666
|
normalizeResourceMountPath,
|
|
1627
1667
|
normalizeSessionGoalRootConstraints,
|
|
1668
|
+
normalizeWorkClaimCanonicalKey,
|
|
1669
|
+
normalizeWorkClaimDisplayLabel,
|
|
1670
|
+
normalizeWorkClaimNamespace,
|
|
1628
1671
|
normalizeWorkspaceArtifactSlug,
|
|
1629
1672
|
normalizeWorkspaceInstructionPolicyRoleKey,
|
|
1630
1673
|
normalizeWorkspaceLearningSourceKind,
|
|
@@ -1677,6 +1720,7 @@ import {
|
|
|
1677
1720
|
toolResultSpillFilename,
|
|
1678
1721
|
toolResultSpillSandboxPath,
|
|
1679
1722
|
turnExecutionPolicyAuditMetadata,
|
|
1723
|
+
variableSetVariableNameReservation,
|
|
1680
1724
|
verifyDelegatedAccessToken,
|
|
1681
1725
|
verifyEnrollToken,
|
|
1682
1726
|
verifyEnrollmentBearer,
|
|
@@ -1688,7 +1732,7 @@ import {
|
|
|
1688
1732
|
workspaceLearningPolicyRouterContext,
|
|
1689
1733
|
workspaceLearningSourceKey,
|
|
1690
1734
|
workspaceSlackReactionChannelAllowed
|
|
1691
|
-
} from "./chunk-
|
|
1735
|
+
} from "./chunk-AWNGBY5I.js";
|
|
1692
1736
|
import {
|
|
1693
1737
|
ConnectorDocumentDestination,
|
|
1694
1738
|
ConnectorDocumentDestinationAuthority,
|
|
@@ -1715,6 +1759,14 @@ import {
|
|
|
1715
1759
|
hasOpenGeniSlackBotSearchScopes,
|
|
1716
1760
|
hasOpenGeniSlackReactionScope
|
|
1717
1761
|
} from "./chunk-MRWYRAS5.js";
|
|
1762
|
+
import {
|
|
1763
|
+
AUTOMATIC_SESSION_TITLE_FALLBACK,
|
|
1764
|
+
AUTOMATIC_SESSION_TITLE_MAX_GRAPHEMES,
|
|
1765
|
+
SESSION_TITLE_MAX_CHARACTERS,
|
|
1766
|
+
boundAutomaticSessionTitle,
|
|
1767
|
+
containsSensitiveAutomaticSessionTitleValue,
|
|
1768
|
+
normalizeAutomaticSessionTitle
|
|
1769
|
+
} from "./chunk-4IVHBXRI.js";
|
|
1718
1770
|
import {
|
|
1719
1771
|
WORKSPACE_XAI_PROVIDER_ACCOUNT_AUTHORITY_SNAPSHOT_V1,
|
|
1720
1772
|
XaiProviderAccountAuthoritySnapshotV1
|
|
@@ -1980,9 +2032,11 @@ export {
|
|
|
1980
2032
|
AGENT_AUTHORED_DURABLE_TEXT_STYLE,
|
|
1981
2033
|
AGENT_AUTHORED_INSTRUCTION_POLICY_CONTENT_MAX_CHARS,
|
|
1982
2034
|
AGENT_AUTHORED_INSTRUCTION_POLICY_CONTENT_TOO_LONG_MESSAGE,
|
|
2035
|
+
AGENT_AUTHORED_INSTRUCTION_POLICY_STYLE,
|
|
1983
2036
|
AGENT_AUTHORED_PREFERENCE_CONTENT_MAX_CHARS,
|
|
1984
2037
|
AGENT_AUTHORED_PREFERENCE_CONTENT_TOO_LONG_MESSAGE,
|
|
1985
2038
|
AGENT_AUTHORED_REMEMBER_CONTENT_TOO_LONG_MESSAGE,
|
|
2039
|
+
AGENT_AUTHORED_SKILL_STYLE,
|
|
1986
2040
|
API_INTEGRATION_OAUTH_CREDENTIAL_ROLE,
|
|
1987
2041
|
ATLASSIAN_CREDENTIAL_LABEL,
|
|
1988
2042
|
ATLASSIAN_CREDENTIAL_ROLE,
|
|
@@ -2298,11 +2352,15 @@ export {
|
|
|
2298
2352
|
CompanyProfileActivationEvent,
|
|
2299
2353
|
CompanyProfileActivationType,
|
|
2300
2354
|
CompanyProfileAgentAttempt,
|
|
2355
|
+
CompanyProfileAgentAutomaticActivationReceipt,
|
|
2301
2356
|
CompanyProfileAgentConfirmRequest,
|
|
2302
2357
|
CompanyProfileAgentConfirmationReceipt,
|
|
2303
2358
|
CompanyProfileAgentHumanInputPrompt,
|
|
2359
|
+
CompanyProfileAgentPolicy,
|
|
2360
|
+
CompanyProfileAgentPolicyMode,
|
|
2304
2361
|
CompanyProfileAgentProposalReceipt,
|
|
2305
2362
|
CompanyProfileAgentProposalRequest,
|
|
2363
|
+
CompanyProfileAgentReviewRequiredReceipt,
|
|
2306
2364
|
CompanyProfileConflictResponse,
|
|
2307
2365
|
CompanyProfileContent,
|
|
2308
2366
|
CompanyProfileDiffRequest,
|
|
@@ -2393,6 +2451,7 @@ export {
|
|
|
2393
2451
|
CreateKnowledgeDropRequest,
|
|
2394
2452
|
CreateKnowledgeMemoryRequest,
|
|
2395
2453
|
CreateNetworkRouteRequest,
|
|
2454
|
+
CreateOrganizationApiKeyRequest,
|
|
2396
2455
|
CreateOrganizationInvitationRequest,
|
|
2397
2456
|
CreateOrganizationRequest,
|
|
2398
2457
|
CreateOrganizationResponse,
|
|
@@ -2513,6 +2572,8 @@ export {
|
|
|
2513
2572
|
EnrollmentCredentialsResponse,
|
|
2514
2573
|
EnrollmentOs,
|
|
2515
2574
|
EnrollmentSummary,
|
|
2575
|
+
EnsureWorkspaceRequest,
|
|
2576
|
+
EnsureWorkspaceResponse,
|
|
2516
2577
|
EntitlementDecision,
|
|
2517
2578
|
EntitlementValue,
|
|
2518
2579
|
Entitlements,
|
|
@@ -2812,6 +2873,7 @@ export {
|
|
|
2812
2873
|
ListSlackUserLinkAccessRequestsResponse,
|
|
2813
2874
|
ListUserResourceAuthoritiesQuery,
|
|
2814
2875
|
ListUserResourceAuthoritiesResponse,
|
|
2876
|
+
ListWorkspaceMemberCandidatesResponse,
|
|
2815
2877
|
ListWorkspaceMembersResponse,
|
|
2816
2878
|
MAX_COMMITTED_TRANSACTION_BYTES,
|
|
2817
2879
|
MAX_COMMITTED_TRANSACTION_CAUSAL_REPLICAS,
|
|
@@ -3156,6 +3218,7 @@ export {
|
|
|
3156
3218
|
RunDocumentDefaultCollectionBackfillRequest,
|
|
3157
3219
|
SANDBOX_FILE_ARTIFACT_MAX_BYTES,
|
|
3158
3220
|
SANDBOX_PROVIDER_INSTANCE_ID_FIELDS_BY_BACKEND,
|
|
3221
|
+
SCHEDULED_OCCURRENCE_TASK_LABEL,
|
|
3159
3222
|
SCHEDULED_TASK_ACCEPTED_EXECUTION_MAX_BYTES,
|
|
3160
3223
|
SCHEDULED_TASK_AGENT_CONFIG_MAX_BYTES,
|
|
3161
3224
|
SCHEDULED_TASK_METADATA_MAX_BYTES,
|
|
@@ -3481,6 +3544,7 @@ export {
|
|
|
3481
3544
|
UpdateAutomationTriggerRequest,
|
|
3482
3545
|
UpdateBrowserIdentityRequest,
|
|
3483
3546
|
UpdateChannelRequest,
|
|
3547
|
+
UpdateCompanyProfileAgentPolicyRequest,
|
|
3484
3548
|
UpdateCompanyProfileRequest,
|
|
3485
3549
|
UpdateConnectionRequest,
|
|
3486
3550
|
UpdateKnowledgeMemoryRequest,
|
|
@@ -3537,6 +3601,8 @@ export {
|
|
|
3537
3601
|
UserResourceGrantStatus,
|
|
3538
3602
|
UserResourceKind,
|
|
3539
3603
|
UserResourceLifecycleGrantMode,
|
|
3604
|
+
VARIABLE_SET_RESERVED_EXACT_NAMES,
|
|
3605
|
+
VARIABLE_SET_RESERVED_PREFIXES,
|
|
3540
3606
|
VIDEO_GENERATION_SCHEMA_VERSION,
|
|
3541
3607
|
VIRTUAL_WORKSPACE_ROOT,
|
|
3542
3608
|
VOICE_INPUT_ACCEPTED_MIME_TYPES,
|
|
@@ -3602,6 +3668,35 @@ export {
|
|
|
3602
3668
|
WORKSPACE_STATE_MEMORY_SAMPLE_LIMIT,
|
|
3603
3669
|
WORKSPACE_STATE_TOPIC_MAX_CHARS,
|
|
3604
3670
|
WORKSPACE_XAI_PROVIDER_ACCOUNT_AUTHORITY_SNAPSHOT_V1,
|
|
3671
|
+
WORK_CLAIM_ACTIVE_SESSION_CAP,
|
|
3672
|
+
WORK_CLAIM_CANONICAL_KEY_MAX_BYTES,
|
|
3673
|
+
WORK_CLAIM_DISCOVERY_DEFAULT_LIMIT,
|
|
3674
|
+
WORK_CLAIM_DISCOVERY_LIMIT,
|
|
3675
|
+
WORK_CLAIM_DISPLAY_LABEL_MAX_BYTES,
|
|
3676
|
+
WORK_CLAIM_NAMESPACE_MAX_BYTES,
|
|
3677
|
+
WORK_CLAIM_VERSION_VALUE_MAX_BYTES,
|
|
3678
|
+
WORK_DISCOVERY_QUERY_MAX_CHARS,
|
|
3679
|
+
WORK_DISCOVERY_RECENT_HOURS_MAX,
|
|
3680
|
+
WorkClaim,
|
|
3681
|
+
WorkClaimCanonicalKey,
|
|
3682
|
+
WorkClaimDiscoverySummary,
|
|
3683
|
+
WorkClaimDisplayLabel,
|
|
3684
|
+
WorkClaimMutationKind,
|
|
3685
|
+
WorkClaimMutationResult,
|
|
3686
|
+
WorkClaimNamespace,
|
|
3687
|
+
WorkClaimProvenance,
|
|
3688
|
+
WorkClaimReleaseReason,
|
|
3689
|
+
WorkClaimRole,
|
|
3690
|
+
WorkClaimState,
|
|
3691
|
+
WorkClaimSubjectFilter,
|
|
3692
|
+
WorkClaimSubjectType,
|
|
3693
|
+
WorkClaimVersionKind,
|
|
3694
|
+
WorkClaimVersionValue,
|
|
3695
|
+
WorkDiscoveryMatch,
|
|
3696
|
+
WorkDiscoveryMatchClass,
|
|
3697
|
+
WorkDiscoveryMatchedField,
|
|
3698
|
+
WorkDiscoveryProjection,
|
|
3699
|
+
WorkDiscoveryScoreBand,
|
|
3605
3700
|
Workspace,
|
|
3606
3701
|
WorkspaceArtifact,
|
|
3607
3702
|
WorkspaceArtifactContentResponse,
|
|
@@ -3684,6 +3779,7 @@ export {
|
|
|
3684
3779
|
WorkspaceLearningSourceOverrides,
|
|
3685
3780
|
WorkspaceLearningSourceRef,
|
|
3686
3781
|
WorkspaceMember,
|
|
3782
|
+
WorkspaceMemberCandidate,
|
|
3687
3783
|
WorkspaceMemberRole,
|
|
3688
3784
|
WorkspaceMemoryPromptMode,
|
|
3689
3785
|
WorkspaceMemorySearchMode,
|
|
@@ -3750,6 +3846,7 @@ export {
|
|
|
3750
3846
|
atlassianScopesAllowRead,
|
|
3751
3847
|
backendForNativeSnapshotProvider,
|
|
3752
3848
|
bindConnectorDocumentDestination,
|
|
3849
|
+
boundAutomaticSessionTitle,
|
|
3753
3850
|
boundSessionEvent,
|
|
3754
3851
|
boundSessionEventPayload,
|
|
3755
3852
|
boundWorkspaceControlEvent,
|
|
@@ -3766,6 +3863,7 @@ export {
|
|
|
3766
3863
|
comparePersonalSlackCanonicalConnections,
|
|
3767
3864
|
connectorDestinationDocumentAuthority,
|
|
3768
3865
|
connectorDocumentDestinationCollectionId,
|
|
3866
|
+
containsSensitiveAutomaticSessionTitleValue,
|
|
3769
3867
|
createCodexFleetReplayRecordV1,
|
|
3770
3868
|
currentEditableArtifactCompatibility,
|
|
3771
3869
|
decodeCommittedTransactionSummary,
|
|
@@ -3837,6 +3935,9 @@ export {
|
|
|
3837
3935
|
normalizeRepositoryTransportUri,
|
|
3838
3936
|
normalizeResourceMountPath,
|
|
3839
3937
|
normalizeSessionGoalRootConstraints,
|
|
3938
|
+
normalizeWorkClaimCanonicalKey,
|
|
3939
|
+
normalizeWorkClaimDisplayLabel,
|
|
3940
|
+
normalizeWorkClaimNamespace,
|
|
3840
3941
|
normalizeWorkspaceArtifactSlug,
|
|
3841
3942
|
normalizeWorkspaceInstructionPolicyRoleKey,
|
|
3842
3943
|
normalizeWorkspaceLearningSourceKind,
|
|
@@ -3899,6 +4000,7 @@ export {
|
|
|
3899
4000
|
toolResultSpillSandboxPath,
|
|
3900
4001
|
turnExecutionPolicyAuditMetadata,
|
|
3901
4002
|
validateRetainedOutputEvidence,
|
|
4003
|
+
variableSetVariableNameReservation,
|
|
3902
4004
|
verifyDelegatedAccessToken,
|
|
3903
4005
|
verifyEnrollToken,
|
|
3904
4006
|
verifyEnrollmentBearer,
|
|
@@ -99,6 +99,25 @@ export declare const ManagedAuthLoginTransaction: z.ZodObject<{
|
|
|
99
99
|
returnIntentId: z.ZodNullable<z.ZodString>;
|
|
100
100
|
}, z.core.$strip>;
|
|
101
101
|
export type ManagedAuthLoginTransaction = z.infer<typeof ManagedAuthLoginTransaction>;
|
|
102
|
+
export declare const ManagedAuthSocialProvider: z.ZodEnum<{
|
|
103
|
+
github: "github";
|
|
104
|
+
google: "google";
|
|
105
|
+
}>;
|
|
106
|
+
export type ManagedAuthSocialProvider = z.infer<typeof ManagedAuthSocialProvider>;
|
|
107
|
+
export declare const StartManagedAuthSocialTransactionRequest: z.ZodObject<{
|
|
108
|
+
operationId: z.ZodString;
|
|
109
|
+
expectedGeneration: z.ZodString;
|
|
110
|
+
transactionId: z.ZodString;
|
|
111
|
+
provider: z.ZodEnum<{
|
|
112
|
+
github: "github";
|
|
113
|
+
google: "google";
|
|
114
|
+
}>;
|
|
115
|
+
}, z.core.$strip>;
|
|
116
|
+
export type StartManagedAuthSocialTransactionRequest = z.infer<typeof StartManagedAuthSocialTransactionRequest>;
|
|
117
|
+
export declare const StartManagedAuthSocialTransactionResponse: z.ZodObject<{
|
|
118
|
+
url: z.ZodString;
|
|
119
|
+
}, z.core.$strip>;
|
|
120
|
+
export type StartManagedAuthSocialTransactionResponse = z.infer<typeof StartManagedAuthSocialTransactionResponse>;
|
|
102
121
|
export declare const CompleteManagedAuthEmailPasswordTransactionRequest: z.ZodObject<{
|
|
103
122
|
operationId: z.ZodString;
|
|
104
123
|
expectedGeneration: z.ZodString;
|
|
@@ -82,6 +82,14 @@ var ManagedAuthLoginTransaction = z.object({
|
|
|
82
82
|
expiresAt: z.string().datetime(),
|
|
83
83
|
returnIntentId: z.string().uuid().nullable()
|
|
84
84
|
});
|
|
85
|
+
var ManagedAuthSocialProvider = z.enum(["google", "github"]);
|
|
86
|
+
var StartManagedAuthSocialTransactionRequest = ManagedAuthOperationIdentity.extend({
|
|
87
|
+
transactionId: z.string().uuid(),
|
|
88
|
+
provider: ManagedAuthSocialProvider
|
|
89
|
+
});
|
|
90
|
+
var StartManagedAuthSocialTransactionResponse = z.object({
|
|
91
|
+
url: z.string().url().max(4096)
|
|
92
|
+
});
|
|
85
93
|
var CompleteManagedAuthEmailPasswordTransactionRequest = ManagedAuthOperationIdentity.extend({
|
|
86
94
|
transactionId: z.string().uuid(),
|
|
87
95
|
email: z.string().email().max(320),
|
|
@@ -159,8 +167,11 @@ export {
|
|
|
159
167
|
ManagedAuthSessionSetMode,
|
|
160
168
|
ManagedAuthSessionSetProjection,
|
|
161
169
|
ManagedAuthSessionSetState,
|
|
170
|
+
ManagedAuthSocialProvider,
|
|
162
171
|
ManagedAuthVerifiedClaim,
|
|
163
172
|
ResolveManagedAuthDeepLinkRequest,
|
|
164
|
-
SelectManagedAuthLoginSlotRequest
|
|
173
|
+
SelectManagedAuthLoginSlotRequest,
|
|
174
|
+
StartManagedAuthSocialTransactionRequest,
|
|
175
|
+
StartManagedAuthSocialTransactionResponse
|
|
165
176
|
};
|
|
166
177
|
//# sourceMappingURL=managed-auth-session-sets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/managed-auth-session-sets.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const MANAGED_AUTH_SESSION_SET_MAX_SLOTS = 8 as const;\nexport const MANAGED_AUTH_TRANSACTION_TTL_SECONDS = 600 as const;\nexport const MANAGED_AUTH_RETURN_INTENT_MAX_BYTES = 2_048 as const;\nexport const MANAGED_AUTH_SESSION_SET_API_CONTRACT_HEADER = \"x-opengeni-api-contract\" as const;\nexport const MANAGED_AUTH_SESSION_SET_API_CONTRACT_REVISION =\n \"2026-08-personal-only-organization-setup-v1\" as const;\n\nexport const ManagedAuthSessionSetMode = z.enum([\"legacy\", \"dual\", \"broker\"]);\nexport type ManagedAuthSessionSetMode = z.infer<typeof ManagedAuthSessionSetMode>;\n\nexport const ManagedAuthLoginSlotState = z.enum([\"active\", \"reauth_required\"]);\nexport type ManagedAuthLoginSlotState = z.infer<typeof ManagedAuthLoginSlotState>;\n\nexport const ManagedAuthVerifiedClaim = z.object({\n kind: z.literal(\"email\"),\n value: z.string().email().max(320),\n});\nexport type ManagedAuthVerifiedClaim = z.infer<typeof ManagedAuthVerifiedClaim>;\n\n/** Secret-free, browser-safe summary. Provider session ids and tokens never enter this shape. */\nexport const ManagedAuthLoginSlot = z.object({\n id: z.string().uuid(),\n displayName: z.string().min(1).max(256),\n verifiedClaim: ManagedAuthVerifiedClaim,\n state: ManagedAuthLoginSlotState,\n});\nexport type ManagedAuthLoginSlot = z.infer<typeof ManagedAuthLoginSlot>;\n\nexport const ManagedAuthSessionSetState = z.enum([\"ready\", \"actor_change_required\"]);\nexport type ManagedAuthSessionSetState = z.infer<typeof ManagedAuthSessionSetState>;\n\nexport const ManagedAuthSessionSetProjection = z.object({\n mode: ManagedAuthSessionSetMode,\n generation: z.string().regex(/^[1-9][0-9]*$/),\n actorEpoch: z.string().regex(/^[1-9][0-9]*$/),\n csrfToken: z.string().min(32).max(512),\n selectedSlotId: z.string().uuid().nullable(),\n state: ManagedAuthSessionSetState,\n slots: z.array(ManagedAuthLoginSlot).max(MANAGED_AUTH_SESSION_SET_MAX_SLOTS),\n});\nexport type ManagedAuthSessionSetProjection = z.infer<typeof ManagedAuthSessionSetProjection>;\n\nexport const ManagedAuthOperationIdentity = z.object({\n operationId: z.string().uuid(),\n expectedGeneration: z.string().regex(/^[1-9][0-9]*$/),\n});\nexport type ManagedAuthOperationIdentity = z.infer<typeof ManagedAuthOperationIdentity>;\n\nexport const BootstrapManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;\nexport type BootstrapManagedAuthSessionSetRequest = z.infer<\n typeof BootstrapManagedAuthSessionSetRequest\n>;\n\nexport const ManagedAuthReturnIntent = z\n .string()\n .min(1)\n .superRefine((value, context) => {\n if (new TextEncoder().encode(value).byteLength > MANAGED_AUTH_RETURN_INTENT_MAX_BYTES) {\n context.addIssue({ code: \"custom\", message: \"return intent exceeds its UTF-8 byte limit\" });\n }\n if (\n !value.startsWith(\"/\") ||\n value.startsWith(\"//\") ||\n value.includes(\"?\") ||\n value.includes(\"#\") ||\n /[\\u0000-\\u001f\\u007f\\\\]/.test(value)\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"return intent must be a safe same-origin path\",\n });\n return;\n }\n try {\n const parsed = new URL(value, \"https://opengeni.invalid\");\n const uuid = \"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\";\n const supportedPath = new RegExp(\n `^/(?:sessions/${uuid}|workspaces/${uuid}(?:/sessions(?:/${uuid})?)?)$`,\n \"i\",\n );\n if (\n parsed.origin !== \"https://opengeni.invalid\" ||\n parsed.username ||\n parsed.password ||\n parsed.search ||\n parsed.hash ||\n !supportedPath.test(value) ||\n parsed.pathname !== value\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"return intent contains unsafe authority data\",\n });\n }\n } catch {\n context.addIssue({\n code: \"custom\",\n message: \"return intent is not a valid same-origin path\",\n });\n }\n });\n\nexport const BeginManagedAuthLoginTransactionRequest = ManagedAuthOperationIdentity.extend({\n kind: z.enum([\"add\", \"reauth\"]),\n slotId: z.string().uuid().optional(),\n returnIntent: ManagedAuthReturnIntent.optional(),\n}).superRefine((value, context) => {\n if ((value.kind === \"reauth\") !== Boolean(value.slotId)) {\n context.addIssue({\n code: \"custom\",\n path: [\"slotId\"],\n message: \"reauth requires exactly one slot id and add forbids one\",\n });\n }\n});\nexport type BeginManagedAuthLoginTransactionRequest = z.infer<\n typeof BeginManagedAuthLoginTransactionRequest\n>;\n\nexport const ManagedAuthLoginTransaction = z.object({\n id: z.string().uuid(),\n kind: z.enum([\"add\", \"reauth\"]),\n expiresAt: z.string().datetime(),\n returnIntentId: z.string().uuid().nullable(),\n});\nexport type ManagedAuthLoginTransaction = z.infer<typeof ManagedAuthLoginTransaction>;\n\nexport const CompleteManagedAuthEmailPasswordTransactionRequest =\n ManagedAuthOperationIdentity.extend({\n transactionId: z.string().uuid(),\n email: z.string().email().max(320),\n password: z.string().min(1).max(1_024),\n });\nexport type CompleteManagedAuthEmailPasswordTransactionRequest = z.infer<\n typeof CompleteManagedAuthEmailPasswordTransactionRequest\n>;\n\nexport const CompleteManagedAuthLoginTransactionResponse = z.object({\n projection: ManagedAuthSessionSetProjection,\n returnIntent: ManagedAuthReturnIntent.nullable(),\n});\nexport type CompleteManagedAuthLoginTransactionResponse = z.infer<\n typeof CompleteManagedAuthLoginTransactionResponse\n>;\n\nexport const CancelManagedAuthLoginTransactionRequest = ManagedAuthOperationIdentity.extend({\n transactionId: z.string().uuid(),\n});\nexport type CancelManagedAuthLoginTransactionRequest = z.infer<\n typeof CancelManagedAuthLoginTransactionRequest\n>;\n\nexport const SelectManagedAuthLoginSlotRequest = ManagedAuthOperationIdentity.extend({\n slotId: z.string().uuid(),\n});\nexport type SelectManagedAuthLoginSlotRequest = z.infer<typeof SelectManagedAuthLoginSlotRequest>;\n\nexport const LogoutManagedAuthLoginSlotRequest = ManagedAuthOperationIdentity.extend({\n slotId: z.string().uuid(),\n replacementSlotId: z.string().uuid().nullable(),\n});\nexport type LogoutManagedAuthLoginSlotRequest = z.infer<typeof LogoutManagedAuthLoginSlotRequest>;\n\nexport const LogoutManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;\nexport type LogoutManagedAuthSessionSetRequest = z.infer<typeof LogoutManagedAuthSessionSetRequest>;\n\nexport const ManagedAuthLogoutAllReceipt = z.object({\n generation: z.string().regex(/^[1-9][0-9]*$/),\n actorEpoch: z.string().regex(/^[1-9][0-9]*$/),\n state: z.literal(\"logged_out\"),\n});\nexport type ManagedAuthLogoutAllReceipt = z.infer<typeof ManagedAuthLogoutAllReceipt>;\n\nexport const ResolveManagedAuthDeepLinkRequest = z.object({\n path: ManagedAuthReturnIntent,\n});\nexport type ResolveManagedAuthDeepLinkRequest = z.infer<typeof ResolveManagedAuthDeepLinkRequest>;\n\nexport const ManagedAuthDeepLinkResolution = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"current\") }),\n z.object({ kind: z.literal(\"switch_required\"), slot: ManagedAuthLoginSlot }),\n z.object({ kind: z.literal(\"unavailable\") }),\n]);\nexport type ManagedAuthDeepLinkResolution = z.infer<typeof ManagedAuthDeepLinkResolution>;\n\nexport const ManagedAuthSessionSetErrorCode = z.enum([\n \"actor_change_required\",\n \"actor_mutation_in_flight\",\n \"api_contract_changed\",\n \"browser_session_set_required\",\n \"browser_session_set_unavailable\",\n \"generation_conflict\",\n \"invalid_browser_session_set_request\",\n \"invalid_transaction\",\n \"managed_authentication_required\",\n \"managed_authentication_unavailable\",\n \"operation_outcome_unknown\",\n \"operation_reused\",\n \"origin_rejected\",\n \"login_transaction_rate_limited\",\n \"provider_route_blocked\",\n \"slot_limit_reached\",\n \"slot_already_exists\",\n \"slot_unavailable\",\n]);\nexport type ManagedAuthSessionSetErrorCode = z.infer<typeof ManagedAuthSessionSetErrorCode>;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/managed-auth-session-sets.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const MANAGED_AUTH_SESSION_SET_MAX_SLOTS = 8 as const;\nexport const MANAGED_AUTH_TRANSACTION_TTL_SECONDS = 600 as const;\nexport const MANAGED_AUTH_RETURN_INTENT_MAX_BYTES = 2_048 as const;\nexport const MANAGED_AUTH_SESSION_SET_API_CONTRACT_HEADER = \"x-opengeni-api-contract\" as const;\nexport const MANAGED_AUTH_SESSION_SET_API_CONTRACT_REVISION =\n \"2026-08-personal-only-organization-setup-v1\" as const;\n\nexport const ManagedAuthSessionSetMode = z.enum([\"legacy\", \"dual\", \"broker\"]);\nexport type ManagedAuthSessionSetMode = z.infer<typeof ManagedAuthSessionSetMode>;\n\nexport const ManagedAuthLoginSlotState = z.enum([\"active\", \"reauth_required\"]);\nexport type ManagedAuthLoginSlotState = z.infer<typeof ManagedAuthLoginSlotState>;\n\nexport const ManagedAuthVerifiedClaim = z.object({\n kind: z.literal(\"email\"),\n value: z.string().email().max(320),\n});\nexport type ManagedAuthVerifiedClaim = z.infer<typeof ManagedAuthVerifiedClaim>;\n\n/** Secret-free, browser-safe summary. Provider session ids and tokens never enter this shape. */\nexport const ManagedAuthLoginSlot = z.object({\n id: z.string().uuid(),\n displayName: z.string().min(1).max(256),\n verifiedClaim: ManagedAuthVerifiedClaim,\n state: ManagedAuthLoginSlotState,\n});\nexport type ManagedAuthLoginSlot = z.infer<typeof ManagedAuthLoginSlot>;\n\nexport const ManagedAuthSessionSetState = z.enum([\"ready\", \"actor_change_required\"]);\nexport type ManagedAuthSessionSetState = z.infer<typeof ManagedAuthSessionSetState>;\n\nexport const ManagedAuthSessionSetProjection = z.object({\n mode: ManagedAuthSessionSetMode,\n generation: z.string().regex(/^[1-9][0-9]*$/),\n actorEpoch: z.string().regex(/^[1-9][0-9]*$/),\n csrfToken: z.string().min(32).max(512),\n selectedSlotId: z.string().uuid().nullable(),\n state: ManagedAuthSessionSetState,\n slots: z.array(ManagedAuthLoginSlot).max(MANAGED_AUTH_SESSION_SET_MAX_SLOTS),\n});\nexport type ManagedAuthSessionSetProjection = z.infer<typeof ManagedAuthSessionSetProjection>;\n\nexport const ManagedAuthOperationIdentity = z.object({\n operationId: z.string().uuid(),\n expectedGeneration: z.string().regex(/^[1-9][0-9]*$/),\n});\nexport type ManagedAuthOperationIdentity = z.infer<typeof ManagedAuthOperationIdentity>;\n\nexport const BootstrapManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;\nexport type BootstrapManagedAuthSessionSetRequest = z.infer<\n typeof BootstrapManagedAuthSessionSetRequest\n>;\n\nexport const ManagedAuthReturnIntent = z\n .string()\n .min(1)\n .superRefine((value, context) => {\n if (new TextEncoder().encode(value).byteLength > MANAGED_AUTH_RETURN_INTENT_MAX_BYTES) {\n context.addIssue({ code: \"custom\", message: \"return intent exceeds its UTF-8 byte limit\" });\n }\n if (\n !value.startsWith(\"/\") ||\n value.startsWith(\"//\") ||\n value.includes(\"?\") ||\n value.includes(\"#\") ||\n /[\\u0000-\\u001f\\u007f\\\\]/.test(value)\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"return intent must be a safe same-origin path\",\n });\n return;\n }\n try {\n const parsed = new URL(value, \"https://opengeni.invalid\");\n const uuid = \"[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\";\n const supportedPath = new RegExp(\n `^/(?:sessions/${uuid}|workspaces/${uuid}(?:/sessions(?:/${uuid})?)?)$`,\n \"i\",\n );\n if (\n parsed.origin !== \"https://opengeni.invalid\" ||\n parsed.username ||\n parsed.password ||\n parsed.search ||\n parsed.hash ||\n !supportedPath.test(value) ||\n parsed.pathname !== value\n ) {\n context.addIssue({\n code: \"custom\",\n message: \"return intent contains unsafe authority data\",\n });\n }\n } catch {\n context.addIssue({\n code: \"custom\",\n message: \"return intent is not a valid same-origin path\",\n });\n }\n });\n\nexport const BeginManagedAuthLoginTransactionRequest = ManagedAuthOperationIdentity.extend({\n kind: z.enum([\"add\", \"reauth\"]),\n slotId: z.string().uuid().optional(),\n returnIntent: ManagedAuthReturnIntent.optional(),\n}).superRefine((value, context) => {\n if ((value.kind === \"reauth\") !== Boolean(value.slotId)) {\n context.addIssue({\n code: \"custom\",\n path: [\"slotId\"],\n message: \"reauth requires exactly one slot id and add forbids one\",\n });\n }\n});\nexport type BeginManagedAuthLoginTransactionRequest = z.infer<\n typeof BeginManagedAuthLoginTransactionRequest\n>;\n\nexport const ManagedAuthLoginTransaction = z.object({\n id: z.string().uuid(),\n kind: z.enum([\"add\", \"reauth\"]),\n expiresAt: z.string().datetime(),\n returnIntentId: z.string().uuid().nullable(),\n});\nexport type ManagedAuthLoginTransaction = z.infer<typeof ManagedAuthLoginTransaction>;\n\nexport const ManagedAuthSocialProvider = z.enum([\"google\", \"github\"]);\nexport type ManagedAuthSocialProvider = z.infer<typeof ManagedAuthSocialProvider>;\n\nexport const StartManagedAuthSocialTransactionRequest = ManagedAuthOperationIdentity.extend({\n transactionId: z.string().uuid(),\n provider: ManagedAuthSocialProvider,\n});\nexport type StartManagedAuthSocialTransactionRequest = z.infer<\n typeof StartManagedAuthSocialTransactionRequest\n>;\n\nexport const StartManagedAuthSocialTransactionResponse = z.object({\n url: z.string().url().max(4_096),\n});\nexport type StartManagedAuthSocialTransactionResponse = z.infer<\n typeof StartManagedAuthSocialTransactionResponse\n>;\n\nexport const CompleteManagedAuthEmailPasswordTransactionRequest =\n ManagedAuthOperationIdentity.extend({\n transactionId: z.string().uuid(),\n email: z.string().email().max(320),\n password: z.string().min(1).max(1_024),\n });\nexport type CompleteManagedAuthEmailPasswordTransactionRequest = z.infer<\n typeof CompleteManagedAuthEmailPasswordTransactionRequest\n>;\n\nexport const CompleteManagedAuthLoginTransactionResponse = z.object({\n projection: ManagedAuthSessionSetProjection,\n returnIntent: ManagedAuthReturnIntent.nullable(),\n});\nexport type CompleteManagedAuthLoginTransactionResponse = z.infer<\n typeof CompleteManagedAuthLoginTransactionResponse\n>;\n\nexport const CancelManagedAuthLoginTransactionRequest = ManagedAuthOperationIdentity.extend({\n transactionId: z.string().uuid(),\n});\nexport type CancelManagedAuthLoginTransactionRequest = z.infer<\n typeof CancelManagedAuthLoginTransactionRequest\n>;\n\nexport const SelectManagedAuthLoginSlotRequest = ManagedAuthOperationIdentity.extend({\n slotId: z.string().uuid(),\n});\nexport type SelectManagedAuthLoginSlotRequest = z.infer<typeof SelectManagedAuthLoginSlotRequest>;\n\nexport const LogoutManagedAuthLoginSlotRequest = ManagedAuthOperationIdentity.extend({\n slotId: z.string().uuid(),\n replacementSlotId: z.string().uuid().nullable(),\n});\nexport type LogoutManagedAuthLoginSlotRequest = z.infer<typeof LogoutManagedAuthLoginSlotRequest>;\n\nexport const LogoutManagedAuthSessionSetRequest = ManagedAuthOperationIdentity;\nexport type LogoutManagedAuthSessionSetRequest = z.infer<typeof LogoutManagedAuthSessionSetRequest>;\n\nexport const ManagedAuthLogoutAllReceipt = z.object({\n generation: z.string().regex(/^[1-9][0-9]*$/),\n actorEpoch: z.string().regex(/^[1-9][0-9]*$/),\n state: z.literal(\"logged_out\"),\n});\nexport type ManagedAuthLogoutAllReceipt = z.infer<typeof ManagedAuthLogoutAllReceipt>;\n\nexport const ResolveManagedAuthDeepLinkRequest = z.object({\n path: ManagedAuthReturnIntent,\n});\nexport type ResolveManagedAuthDeepLinkRequest = z.infer<typeof ResolveManagedAuthDeepLinkRequest>;\n\nexport const ManagedAuthDeepLinkResolution = z.discriminatedUnion(\"kind\", [\n z.object({ kind: z.literal(\"current\") }),\n z.object({ kind: z.literal(\"switch_required\"), slot: ManagedAuthLoginSlot }),\n z.object({ kind: z.literal(\"unavailable\") }),\n]);\nexport type ManagedAuthDeepLinkResolution = z.infer<typeof ManagedAuthDeepLinkResolution>;\n\nexport const ManagedAuthSessionSetErrorCode = z.enum([\n \"actor_change_required\",\n \"actor_mutation_in_flight\",\n \"api_contract_changed\",\n \"browser_session_set_required\",\n \"browser_session_set_unavailable\",\n \"generation_conflict\",\n \"invalid_browser_session_set_request\",\n \"invalid_transaction\",\n \"managed_authentication_required\",\n \"managed_authentication_unavailable\",\n \"operation_outcome_unknown\",\n \"operation_reused\",\n \"origin_rejected\",\n \"login_transaction_rate_limited\",\n \"provider_route_blocked\",\n \"slot_limit_reached\",\n \"slot_already_exists\",\n \"slot_unavailable\",\n]);\nexport type ManagedAuthSessionSetErrorCode = z.infer<typeof ManagedAuthSessionSetErrorCode>;\n"],"mappings":"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","names":[]}
|
|
@@ -272,6 +272,7 @@ export declare const OrganizationWorkspaceRoleDefinition: z.ZodObject<{
|
|
|
272
272
|
"artifacts:read": "artifacts:read";
|
|
273
273
|
"billing:manage": "billing:manage";
|
|
274
274
|
"billing:read": "billing:read";
|
|
275
|
+
"capabilities:manage": "capabilities:manage";
|
|
275
276
|
"codemode:call": "codemode:call";
|
|
276
277
|
"connections:read": "connections:read";
|
|
277
278
|
"connections:write": "connections:write";
|
|
@@ -338,6 +339,7 @@ export declare const OrganizationAdministrationOverview: z.ZodObject<{
|
|
|
338
339
|
"artifacts:read": "artifacts:read";
|
|
339
340
|
"billing:manage": "billing:manage";
|
|
340
341
|
"billing:read": "billing:read";
|
|
342
|
+
"capabilities:manage": "capabilities:manage";
|
|
341
343
|
"codemode:call": "codemode:call";
|
|
342
344
|
"connections:read": "connections:read";
|
|
343
345
|
"connections:write": "connections:write";
|
|
@@ -444,6 +446,7 @@ export declare const PutOrganizationWorkspaceMemberRequest: z.ZodDiscriminatedUn
|
|
|
444
446
|
"artifacts:read": "artifacts:read";
|
|
445
447
|
"billing:manage": "billing:manage";
|
|
446
448
|
"billing:read": "billing:read";
|
|
449
|
+
"capabilities:manage": "capabilities:manage";
|
|
447
450
|
"codemode:call": "codemode:call";
|
|
448
451
|
"connections:read": "connections:read";
|
|
449
452
|
"connections:write": "connections:write";
|
package/dist/permissions.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export declare const Permission: z.ZodEnum<{
|
|
|
8
8
|
"artifacts:read": "artifacts:read";
|
|
9
9
|
"billing:manage": "billing:manage";
|
|
10
10
|
"billing:read": "billing:read";
|
|
11
|
+
"capabilities:manage": "capabilities:manage";
|
|
11
12
|
"codemode:call": "codemode:call";
|
|
12
13
|
"connections:read": "connections:read";
|
|
13
14
|
"connections:write": "connections:write";
|
package/dist/personal-github.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ConnectionMetadata
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AWNGBY5I.js";
|
|
4
4
|
import "./chunk-WYBDERIY.js";
|
|
5
5
|
import "./chunk-MRWYRAS5.js";
|
|
6
|
+
import "./chunk-4IVHBXRI.js";
|
|
6
7
|
import "./chunk-CM6BMECR.js";
|
|
7
8
|
import "./chunk-JUFK3T4Q.js";
|
|
8
9
|
import "./chunk-YBW5JSA3.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/personal-github.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { ConnectionMetadata } from \"./index\";\n\nexport const PERSONAL_GITHUB_PROVIDER_DOMAIN = \"github.com\" as const;\nexport const PERSONAL_GITHUB_PROVIDER_FAMILY = \"github\" as const;\nexport const PERSONAL_GITHUB_CREDENTIAL_ROLE = \"opengeni_github_personal\" as const;\nexport const PERSONAL_GITHUB_CONNECTION_SURFACE_ID = \"github:personal\" as const;\nexport const PERSONAL_GITHUB_REQUESTED_SCOPES = [\"repo\"] as const;\nexport const PERSONAL_GITHUB_AUTHORIZATION_URL =\n \"https://github.com/login/oauth/authorize\" as const;\nexport const PERSONAL_GITHUB_TOKEN_URL = \"https://github.com/login/oauth/access_token\" as const;\nexport const PERSONAL_GITHUB_USER_URL = \"https://api.github.com/user\" as const;\nexport const PERSONAL_GITHUB_API_ORIGIN = \"https://api.github.com\" as const;\nexport const PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX = 100 as const;\n\nexport const PersonalGitHubRepositoryId = z.string().regex(/^[1-9]\\d*$/u);\nexport type PersonalGitHubRepositoryId = z.infer<typeof PersonalGitHubRepositoryId>;\n\nexport const PersonalGitHubRepositoryAccess = z.enum([\"read\", \"write\"]);\nexport type PersonalGitHubRepositoryAccess = z.infer<typeof PersonalGitHubRepositoryAccess>;\n\nexport const PersonalGitHubRepositoryPermissions = z\n .object({\n pull: z.boolean(),\n push: z.boolean(),\n admin: z.boolean(),\n maintain: z.boolean(),\n triage: z.boolean(),\n })\n .strict();\nexport type PersonalGitHubRepositoryPermissions = z.infer<\n typeof PersonalGitHubRepositoryPermissions\n>;\n\nexport const PersonalGitHubRepositoryVisibility = z.enum([\"public\", \"private\", \"internal\"]);\nexport type PersonalGitHubRepositoryVisibility = z.infer<typeof PersonalGitHubRepositoryVisibility>;\n\nconst PersonalGitHubRepositoryFullName = z\n .string()\n .min(3)\n .max(140)\n .regex(/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})\\/[A-Za-z0-9_.-]{1,100}$/u);\n\nexport function canonicalPersonalGitHubRepositoryUrl(fullName: string): string {\n return `https://github.com/${fullName}`;\n}\n\n/** A bounded, credential-free projection verified directly against GitHub. */\nexport const PersonalGitHubRepository = z\n .object({\n repositoryId: PersonalGitHubRepositoryId,\n fullName: PersonalGitHubRepositoryFullName,\n canonicalUrl: z.string().url().max(512),\n defaultBranch: z.string().min(1).max(255),\n visibility: PersonalGitHubRepositoryVisibility,\n private: z.boolean(),\n archived: z.boolean(),\n disabled: z.boolean(),\n permissions: PersonalGitHubRepositoryPermissions,\n })\n .strict()\n .superRefine((repository, context) => {\n if (repository.canonicalUrl !== canonicalPersonalGitHubRepositoryUrl(repository.fullName)) {\n context.addIssue({\n code: \"custom\",\n path: [\"canonicalUrl\"],\n message: \"canonicalUrl must be derived from fullName\",\n });\n }\n if (repository.private !== (repository.visibility === \"private\")) {\n context.addIssue({\n code: \"custom\",\n path: [\"private\"],\n message: \"private must agree with visibility\",\n });\n }\n });\nexport type PersonalGitHubRepository = z.infer<typeof PersonalGitHubRepository>;\n\nexport const PersonalGitHubSelectedRepository = PersonalGitHubRepository.safeExtend({\n selectedAccess: PersonalGitHubRepositoryAccess,\n selectionGeneration: z.number().int().positive(),\n selectedAt: z.string().datetime({ offset: true }),\n lastVerifiedAt: z.string().datetime({ offset: true }),\n}).strict();\nexport type PersonalGitHubSelectedRepository = z.infer<typeof PersonalGitHubSelectedRepository>;\n\nexport const PersonalGitHubRepositorySelectionState = z\n .object({\n connectionAuthorityGeneration: z.number().int().positive(),\n credentialBindingId: z.string().uuid(),\n providerPrincipalId: PersonalGitHubRepositoryId,\n selectionGeneration: z.number().int().nonnegative(),\n repositories: z\n .array(PersonalGitHubSelectedRepository)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n })\n .strict();\nexport type PersonalGitHubRepositorySelectionState = z.infer<\n typeof PersonalGitHubRepositorySelectionState\n>;\n\nexport const ListPersonalGitHubRepositoriesQuery = z\n .object({\n cursor: z.coerce.number().int().positive().max(10_000).default(1),\n limit: z.coerce.number().int().min(1).max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX).default(50),\n })\n .strict();\nexport type ListPersonalGitHubRepositoriesQuery = z.infer<\n typeof ListPersonalGitHubRepositoriesQuery\n>;\n\nexport const PersonalGitHubRepositoryCatalogItem = PersonalGitHubRepository.safeExtend({\n selectedAccess: PersonalGitHubRepositoryAccess.nullable(),\n}).strict();\nexport type PersonalGitHubRepositoryCatalogItem = z.infer<\n typeof PersonalGitHubRepositoryCatalogItem\n>;\n\nexport const ListPersonalGitHubRepositoriesResponse = z\n .object({\n repositories: z\n .array(PersonalGitHubRepositoryCatalogItem)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n nextCursor: z.number().int().positive().nullable(),\n selection: PersonalGitHubRepositorySelectionState,\n })\n .strict();\nexport type ListPersonalGitHubRepositoriesResponse = z.infer<\n typeof ListPersonalGitHubRepositoriesResponse\n>;\n\nexport const PersonalGitHubRepositorySelectionInput = z\n .object({\n repositoryId: PersonalGitHubRepositoryId,\n fullName: PersonalGitHubRepositoryFullName,\n access: PersonalGitHubRepositoryAccess,\n })\n .strict();\nexport type PersonalGitHubRepositorySelectionInput = z.infer<\n typeof PersonalGitHubRepositorySelectionInput\n>;\n\nexport const ReplacePersonalGitHubRepositorySelectionsRequest = z\n .object({\n expectedConnectionAuthorityGeneration: z.number().int().positive(),\n expectedSelectionGeneration: z.number().int().nonnegative(),\n idempotencyKey: z.string().trim().min(1).max(200),\n repositories: z\n .array(PersonalGitHubRepositorySelectionInput)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n })\n .strict()\n .superRefine((request, context) => {\n const repositoryIds = new Set<string>();\n const fullNames = new Set<string>();\n request.repositories.forEach((repository, index) => {\n const normalizedFullName = repository.fullName.toLowerCase();\n if (repositoryIds.has(repository.repositoryId)) {\n context.addIssue({\n code: \"custom\",\n path: [\"repositories\", index, \"repositoryId\"],\n message: \"repositoryId must be unique\",\n });\n }\n if (fullNames.has(normalizedFullName)) {\n context.addIssue({\n code: \"custom\",\n path: [\"repositories\", index, \"fullName\"],\n message: \"fullName must be unique\",\n });\n }\n repositoryIds.add(repository.repositoryId);\n fullNames.add(normalizedFullName);\n });\n });\nexport type ReplacePersonalGitHubRepositorySelectionsRequest = z.infer<\n typeof ReplacePersonalGitHubRepositorySelectionsRequest\n>;\n\nexport const VerifyPersonalGitHubRepositorySelectionsRequest = z\n .object({\n expectedConnectionAuthorityGeneration: z.number().int().positive(),\n expectedSelectionGeneration: z.number().int().nonnegative(),\n idempotencyKey: z.string().trim().min(1).max(200),\n })\n .strict();\nexport type VerifyPersonalGitHubRepositorySelectionsRequest = z.infer<\n typeof VerifyPersonalGitHubRepositorySelectionsRequest\n>;\n\n/**\n * Owner-visible, credential-free metadata for one dedicated personal GitHub\n * OAuth connection. Repository selections are a separate authority and never\n * live in this credential record.\n */\nexport const PersonalGitHubConnectionMetadata = z\n .object({\n credentialRole: z.literal(PERSONAL_GITHUB_CREDENTIAL_ROLE),\n providerFamily: z.literal(PERSONAL_GITHUB_PROVIDER_FAMILY),\n providerPrincipalId: z.string().regex(/^\\d+$/u),\n githubUserId: z.string().regex(/^\\d+$/u),\n githubLogin: z.string().min(1).max(100),\n oauthEnvironment: z.string().min(1).max(128),\n oauthClientMarker: z.string().regex(/^[a-f0-9]{32}$/u),\n credentialBindingId: z.string().uuid(),\n connectedAt: z.string().datetime({ offset: true }),\n lastVerifiedAt: z.string().datetime({ offset: true }),\n disconnectedAt: z.string().datetime({ offset: true }).nullable().optional(),\n refreshTokenExpiresAt: z.string().datetime({ offset: true }).nullable().optional(),\n })\n .passthrough();\nexport type PersonalGitHubConnectionMetadata = z.infer<typeof PersonalGitHubConnectionMetadata>;\n\nexport const PersonalGitHubOAuthStartRequest = z\n .object({\n /** Existing exact connection generation to re-authorize in place. */\n connectionId: z.string().uuid().optional(),\n /** Same-workspace UI path restored after the callback. */\n returnPath: z.string().min(1).max(2048).optional(),\n })\n .strict();\nexport type PersonalGitHubOAuthStartRequest = z.infer<typeof PersonalGitHubOAuthStartRequest>;\n\nexport const PersonalGitHubOAuthStartResponse = z\n .object({\n authorizationUrl: z.string().url(),\n expiresAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport type PersonalGitHubOAuthStartResponse = z.infer<typeof PersonalGitHubOAuthStartResponse>;\n\nexport const PersonalGitHubConnectionStatusResponse = z\n .object({\n enabled: z.boolean(),\n connection: ConnectionMetadata.nullable(),\n reviewUrl: z.string().url().nullable(),\n })\n .strict();\nexport type PersonalGitHubConnectionStatusResponse = z.infer<\n typeof PersonalGitHubConnectionStatusResponse\n>;\n\nexport const PersonalGitHubDisconnectRequest = z\n .object({\n expectedVersion: z.number().int().positive(),\n idempotencyKey: z.string().trim().min(1).max(200),\n })\n .strict();\nexport type PersonalGitHubDisconnectRequest = z.infer<typeof PersonalGitHubDisconnectRequest>;\n\nexport function isPersonalGitHubConnection(\n connection: Pick<z.infer<typeof ConnectionMetadata>, \"providerDomain\" | \"kind\" | \"metadata\">,\n): boolean {\n return (\n connection.providerDomain.toLowerCase() === PERSONAL_GITHUB_PROVIDER_DOMAIN &&\n connection.kind === \"oauth2\" &&\n PersonalGitHubConnectionMetadata.safeParse(connection.metadata).success\n );\n}\n\nexport function hasReservedPersonalGitHubMetadata(\n metadata: Record<string, unknown> | undefined,\n): boolean {\n return metadata?.credentialRole === PERSONAL_GITHUB_CREDENTIAL_ROLE;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/personal-github.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { ConnectionMetadata } from \"./index\";\n\nexport const PERSONAL_GITHUB_PROVIDER_DOMAIN = \"github.com\" as const;\nexport const PERSONAL_GITHUB_PROVIDER_FAMILY = \"github\" as const;\nexport const PERSONAL_GITHUB_CREDENTIAL_ROLE = \"opengeni_github_personal\" as const;\nexport const PERSONAL_GITHUB_CONNECTION_SURFACE_ID = \"github:personal\" as const;\nexport const PERSONAL_GITHUB_REQUESTED_SCOPES = [\"repo\"] as const;\nexport const PERSONAL_GITHUB_AUTHORIZATION_URL =\n \"https://github.com/login/oauth/authorize\" as const;\nexport const PERSONAL_GITHUB_TOKEN_URL = \"https://github.com/login/oauth/access_token\" as const;\nexport const PERSONAL_GITHUB_USER_URL = \"https://api.github.com/user\" as const;\nexport const PERSONAL_GITHUB_API_ORIGIN = \"https://api.github.com\" as const;\nexport const PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX = 100 as const;\n\nexport const PersonalGitHubRepositoryId = z.string().regex(/^[1-9]\\d*$/u);\nexport type PersonalGitHubRepositoryId = z.infer<typeof PersonalGitHubRepositoryId>;\n\nexport const PersonalGitHubRepositoryAccess = z.enum([\"read\", \"write\"]);\nexport type PersonalGitHubRepositoryAccess = z.infer<typeof PersonalGitHubRepositoryAccess>;\n\nexport const PersonalGitHubRepositoryPermissions = z\n .object({\n pull: z.boolean(),\n push: z.boolean(),\n admin: z.boolean(),\n maintain: z.boolean(),\n triage: z.boolean(),\n })\n .strict();\nexport type PersonalGitHubRepositoryPermissions = z.infer<\n typeof PersonalGitHubRepositoryPermissions\n>;\n\nexport const PersonalGitHubRepositoryVisibility = z.enum([\"public\", \"private\", \"internal\"]);\nexport type PersonalGitHubRepositoryVisibility = z.infer<typeof PersonalGitHubRepositoryVisibility>;\n\nconst PersonalGitHubRepositoryFullName = z\n .string()\n .min(3)\n .max(140)\n .regex(/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,38})\\/[A-Za-z0-9_.-]{1,100}$/u);\n\nexport function canonicalPersonalGitHubRepositoryUrl(fullName: string): string {\n return `https://github.com/${fullName}`;\n}\n\n/** A bounded, credential-free projection verified directly against GitHub. */\nexport const PersonalGitHubRepository = z\n .object({\n repositoryId: PersonalGitHubRepositoryId,\n fullName: PersonalGitHubRepositoryFullName,\n canonicalUrl: z.string().url().max(512),\n defaultBranch: z.string().min(1).max(255),\n visibility: PersonalGitHubRepositoryVisibility,\n private: z.boolean(),\n archived: z.boolean(),\n disabled: z.boolean(),\n permissions: PersonalGitHubRepositoryPermissions,\n })\n .strict()\n .superRefine((repository, context) => {\n if (repository.canonicalUrl !== canonicalPersonalGitHubRepositoryUrl(repository.fullName)) {\n context.addIssue({\n code: \"custom\",\n path: [\"canonicalUrl\"],\n message: \"canonicalUrl must be derived from fullName\",\n });\n }\n if (repository.private !== (repository.visibility === \"private\")) {\n context.addIssue({\n code: \"custom\",\n path: [\"private\"],\n message: \"private must agree with visibility\",\n });\n }\n });\nexport type PersonalGitHubRepository = z.infer<typeof PersonalGitHubRepository>;\n\nexport const PersonalGitHubSelectedRepository = PersonalGitHubRepository.safeExtend({\n selectedAccess: PersonalGitHubRepositoryAccess,\n selectionGeneration: z.number().int().positive(),\n selectedAt: z.string().datetime({ offset: true }),\n lastVerifiedAt: z.string().datetime({ offset: true }),\n}).strict();\nexport type PersonalGitHubSelectedRepository = z.infer<typeof PersonalGitHubSelectedRepository>;\n\nexport const PersonalGitHubRepositorySelectionState = z\n .object({\n connectionAuthorityGeneration: z.number().int().positive(),\n credentialBindingId: z.string().uuid(),\n providerPrincipalId: PersonalGitHubRepositoryId,\n selectionGeneration: z.number().int().nonnegative(),\n repositories: z\n .array(PersonalGitHubSelectedRepository)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n })\n .strict();\nexport type PersonalGitHubRepositorySelectionState = z.infer<\n typeof PersonalGitHubRepositorySelectionState\n>;\n\nexport const ListPersonalGitHubRepositoriesQuery = z\n .object({\n cursor: z.coerce.number().int().positive().max(10_000).default(1),\n limit: z.coerce.number().int().min(1).max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX).default(50),\n })\n .strict();\nexport type ListPersonalGitHubRepositoriesQuery = z.infer<\n typeof ListPersonalGitHubRepositoriesQuery\n>;\n\nexport const PersonalGitHubRepositoryCatalogItem = PersonalGitHubRepository.safeExtend({\n selectedAccess: PersonalGitHubRepositoryAccess.nullable(),\n}).strict();\nexport type PersonalGitHubRepositoryCatalogItem = z.infer<\n typeof PersonalGitHubRepositoryCatalogItem\n>;\n\nexport const ListPersonalGitHubRepositoriesResponse = z\n .object({\n repositories: z\n .array(PersonalGitHubRepositoryCatalogItem)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n nextCursor: z.number().int().positive().nullable(),\n selection: PersonalGitHubRepositorySelectionState,\n })\n .strict();\nexport type ListPersonalGitHubRepositoriesResponse = z.infer<\n typeof ListPersonalGitHubRepositoriesResponse\n>;\n\nexport const PersonalGitHubRepositorySelectionInput = z\n .object({\n repositoryId: PersonalGitHubRepositoryId,\n fullName: PersonalGitHubRepositoryFullName,\n access: PersonalGitHubRepositoryAccess,\n })\n .strict();\nexport type PersonalGitHubRepositorySelectionInput = z.infer<\n typeof PersonalGitHubRepositorySelectionInput\n>;\n\nexport const ReplacePersonalGitHubRepositorySelectionsRequest = z\n .object({\n expectedConnectionAuthorityGeneration: z.number().int().positive(),\n expectedSelectionGeneration: z.number().int().nonnegative(),\n idempotencyKey: z.string().trim().min(1).max(200),\n repositories: z\n .array(PersonalGitHubRepositorySelectionInput)\n .max(PERSONAL_GITHUB_REPOSITORY_CATALOG_MAX),\n })\n .strict()\n .superRefine((request, context) => {\n const repositoryIds = new Set<string>();\n const fullNames = new Set<string>();\n request.repositories.forEach((repository, index) => {\n const normalizedFullName = repository.fullName.toLowerCase();\n if (repositoryIds.has(repository.repositoryId)) {\n context.addIssue({\n code: \"custom\",\n path: [\"repositories\", index, \"repositoryId\"],\n message: \"repositoryId must be unique\",\n });\n }\n if (fullNames.has(normalizedFullName)) {\n context.addIssue({\n code: \"custom\",\n path: [\"repositories\", index, \"fullName\"],\n message: \"fullName must be unique\",\n });\n }\n repositoryIds.add(repository.repositoryId);\n fullNames.add(normalizedFullName);\n });\n });\nexport type ReplacePersonalGitHubRepositorySelectionsRequest = z.infer<\n typeof ReplacePersonalGitHubRepositorySelectionsRequest\n>;\n\nexport const VerifyPersonalGitHubRepositorySelectionsRequest = z\n .object({\n expectedConnectionAuthorityGeneration: z.number().int().positive(),\n expectedSelectionGeneration: z.number().int().nonnegative(),\n idempotencyKey: z.string().trim().min(1).max(200),\n })\n .strict();\nexport type VerifyPersonalGitHubRepositorySelectionsRequest = z.infer<\n typeof VerifyPersonalGitHubRepositorySelectionsRequest\n>;\n\n/**\n * Owner-visible, credential-free metadata for one dedicated personal GitHub\n * OAuth connection. Repository selections are a separate authority and never\n * live in this credential record.\n */\nexport const PersonalGitHubConnectionMetadata = z\n .object({\n credentialRole: z.literal(PERSONAL_GITHUB_CREDENTIAL_ROLE),\n providerFamily: z.literal(PERSONAL_GITHUB_PROVIDER_FAMILY),\n providerPrincipalId: z.string().regex(/^\\d+$/u),\n githubUserId: z.string().regex(/^\\d+$/u),\n githubLogin: z.string().min(1).max(100),\n oauthEnvironment: z.string().min(1).max(128),\n oauthClientMarker: z.string().regex(/^[a-f0-9]{32}$/u),\n credentialBindingId: z.string().uuid(),\n connectedAt: z.string().datetime({ offset: true }),\n lastVerifiedAt: z.string().datetime({ offset: true }),\n disconnectedAt: z.string().datetime({ offset: true }).nullable().optional(),\n refreshTokenExpiresAt: z.string().datetime({ offset: true }).nullable().optional(),\n })\n .passthrough();\nexport type PersonalGitHubConnectionMetadata = z.infer<typeof PersonalGitHubConnectionMetadata>;\n\nexport const PersonalGitHubOAuthStartRequest = z\n .object({\n /** Existing exact connection generation to re-authorize in place. */\n connectionId: z.string().uuid().optional(),\n /** Same-workspace UI path restored after the callback. */\n returnPath: z.string().min(1).max(2048).optional(),\n })\n .strict();\nexport type PersonalGitHubOAuthStartRequest = z.infer<typeof PersonalGitHubOAuthStartRequest>;\n\nexport const PersonalGitHubOAuthStartResponse = z\n .object({\n authorizationUrl: z.string().url(),\n expiresAt: z.string().datetime({ offset: true }),\n })\n .strict();\nexport type PersonalGitHubOAuthStartResponse = z.infer<typeof PersonalGitHubOAuthStartResponse>;\n\nexport const PersonalGitHubConnectionStatusResponse = z\n .object({\n enabled: z.boolean(),\n connection: ConnectionMetadata.nullable(),\n reviewUrl: z.string().url().nullable(),\n })\n .strict();\nexport type PersonalGitHubConnectionStatusResponse = z.infer<\n typeof PersonalGitHubConnectionStatusResponse\n>;\n\nexport const PersonalGitHubDisconnectRequest = z\n .object({\n expectedVersion: z.number().int().positive(),\n idempotencyKey: z.string().trim().min(1).max(200),\n })\n .strict();\nexport type PersonalGitHubDisconnectRequest = z.infer<typeof PersonalGitHubDisconnectRequest>;\n\nexport function isPersonalGitHubConnection(\n connection: Pick<z.infer<typeof ConnectionMetadata>, \"providerDomain\" | \"kind\" | \"metadata\">,\n): boolean {\n return (\n connection.providerDomain.toLowerCase() === PERSONAL_GITHUB_PROVIDER_DOMAIN &&\n connection.kind === \"oauth2\" &&\n PersonalGitHubConnectionMetadata.safeParse(connection.metadata).success\n );\n}\n\nexport function hasReservedPersonalGitHubMetadata(\n metadata: Record<string, unknown> | undefined,\n): boolean {\n return metadata?.credentialRole === PERSONAL_GITHUB_CREDENTIAL_ROLE;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAS,SAAS;AAIX,IAAM,kCAAkC;AACxC,IAAM,kCAAkC;AACxC,IAAM,kCAAkC;AACxC,IAAM,wCAAwC;AAC9C,IAAM,mCAAmC,CAAC,MAAM;AAChD,IAAM,oCACX;AACK,IAAM,4BAA4B;AAClC,IAAM,2BAA2B;AACjC,IAAM,6BAA6B;AACnC,IAAM,yCAAyC;AAE/C,IAAM,6BAA6B,EAAE,OAAO,EAAE,MAAM,aAAa;AAGjE,IAAM,iCAAiC,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC;AAG/D,IAAM,sCAAsC,EAChD,OAAO;AAAA,EACN,MAAM,EAAE,QAAQ;AAAA,EAChB,MAAM,EAAE,QAAQ;AAAA,EAChB,OAAO,EAAE,QAAQ;AAAA,EACjB,UAAU,EAAE,QAAQ;AAAA,EACpB,QAAQ,EAAE,QAAQ;AACpB,CAAC,EACA,OAAO;AAKH,IAAM,qCAAqC,EAAE,KAAK,CAAC,UAAU,WAAW,UAAU,CAAC;AAG1F,IAAM,mCAAmC,EACtC,OAAO,EACP,IAAI,CAAC,EACL,IAAI,GAAG,EACP,MAAM,6DAA6D;AAE/D,SAAS,qCAAqC,UAA0B;AAC7E,SAAO,sBAAsB,QAAQ;AACvC;AAGO,IAAM,2BAA2B,EACrC,OAAO;AAAA,EACN,cAAc;AAAA,EACd,UAAU;AAAA,EACV,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG;AAAA,EACtC,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACxC,YAAY;AAAA,EACZ,SAAS,EAAE,QAAQ;AAAA,EACnB,UAAU,EAAE,QAAQ;AAAA,EACpB,UAAU,EAAE,QAAQ;AAAA,EACpB,aAAa;AACf,CAAC,EACA,OAAO,EACP,YAAY,CAAC,YAAY,YAAY;AACpC,MAAI,WAAW,iBAAiB,qCAAqC,WAAW,QAAQ,GAAG;AACzF,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,MACrB,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AACA,MAAI,WAAW,aAAa,WAAW,eAAe,YAAY;AAChE,YAAQ,SAAS;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,SAAS;AAAA,MAChB,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AACF,CAAC;AAGI,IAAM,mCAAmC,yBAAyB,WAAW;AAAA,EAClF,gBAAgB;AAAA,EAChB,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC/C,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EAChD,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AACtD,CAAC,EAAE,OAAO;AAGH,IAAM,yCAAyC,EACnD,OAAO;AAAA,EACN,+BAA+B,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACzD,qBAAqB,EAAE,OAAO,EAAE,KAAK;AAAA,EACrC,qBAAqB;AAAA,EACrB,qBAAqB,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAClD,cAAc,EACX,MAAM,gCAAgC,EACtC,IAAI,sCAAsC;AAC/C,CAAC,EACA,OAAO;AAKH,IAAM,sCAAsC,EAChD,OAAO;AAAA,EACN,QAAQ,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAM,EAAE,QAAQ,CAAC;AAAA,EAChE,OAAO,EAAE,OAAO,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,sCAAsC,EAAE,QAAQ,EAAE;AAC9F,CAAC,EACA,OAAO;AAKH,IAAM,sCAAsC,yBAAyB,WAAW;AAAA,EACrF,gBAAgB,+BAA+B,SAAS;AAC1D,CAAC,EAAE,OAAO;AAKH,IAAM,yCAAyC,EACnD,OAAO;AAAA,EACN,cAAc,EACX,MAAM,mCAAmC,EACzC,IAAI,sCAAsC;AAAA,EAC7C,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,EACjD,WAAW;AACb,CAAC,EACA,OAAO;AAKH,IAAM,yCAAyC,EACnD,OAAO;AAAA,EACN,cAAc;AAAA,EACd,UAAU;AAAA,EACV,QAAQ;AACV,CAAC,EACA,OAAO;AAKH,IAAM,mDAAmD,EAC7D,OAAO;AAAA,EACN,uCAAuC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACjE,6BAA6B,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC1D,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAChD,cAAc,EACX,MAAM,sCAAsC,EAC5C,IAAI,sCAAsC;AAC/C,CAAC,EACA,OAAO,EACP,YAAY,CAAC,SAAS,YAAY;AACjC,QAAM,gBAAgB,oBAAI,IAAY;AACtC,QAAM,YAAY,oBAAI,IAAY;AAClC,UAAQ,aAAa,QAAQ,CAAC,YAAY,UAAU;AAClD,UAAM,qBAAqB,WAAW,SAAS,YAAY;AAC3D,QAAI,cAAc,IAAI,WAAW,YAAY,GAAG;AAC9C,cAAQ,SAAS;AAAA,QACf,MAAM;AAAA,QACN,MAAM,CAAC,gBAAgB,OAAO,cAAc;AAAA,QAC5C,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,QAAI,UAAU,IAAI,kBAAkB,GAAG;AACrC,cAAQ,SAAS;AAAA,QACf,MAAM;AAAA,QACN,MAAM,CAAC,gBAAgB,OAAO,UAAU;AAAA,QACxC,SAAS;AAAA,MACX,CAAC;AAAA,IACH;AACA,kBAAc,IAAI,WAAW,YAAY;AACzC,cAAU,IAAI,kBAAkB;AAAA,EAClC,CAAC;AACH,CAAC;AAKI,IAAM,kDAAkD,EAC5D,OAAO;AAAA,EACN,uCAAuC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EACjE,6BAA6B,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY;AAAA,EAC1D,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAClD,CAAC,EACA,OAAO;AAUH,IAAM,mCAAmC,EAC7C,OAAO;AAAA,EACN,gBAAgB,EAAE,QAAQ,+BAA+B;AAAA,EACzD,gBAAgB,EAAE,QAAQ,+BAA+B;AAAA,EACzD,qBAAqB,EAAE,OAAO,EAAE,MAAM,QAAQ;AAAA,EAC9C,cAAc,EAAE,OAAO,EAAE,MAAM,QAAQ;AAAA,EACvC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EACtC,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAAA,EAC3C,mBAAmB,EAAE,OAAO,EAAE,MAAM,iBAAiB;AAAA,EACrD,qBAAqB,EAAE,OAAO,EAAE,KAAK;AAAA,EACrC,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EACjD,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AAAA,EACpD,gBAAgB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,EAC1E,uBAAuB,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS;AACnF,CAAC,EACA,YAAY;AAGR,IAAM,kCAAkC,EAC5C,OAAO;AAAA;AAAA,EAEN,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;AAAA;AAAA,EAEzC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS;AACnD,CAAC,EACA,OAAO;AAGH,IAAM,mCAAmC,EAC7C,OAAO;AAAA,EACN,kBAAkB,EAAE,OAAO,EAAE,IAAI;AAAA,EACjC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,KAAK,CAAC;AACjD,CAAC,EACA,OAAO;AAGH,IAAM,yCAAyC,EACnD,OAAO;AAAA,EACN,SAAS,EAAE,QAAQ;AAAA,EACnB,YAAY,mBAAmB,SAAS;AAAA,EACxC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AACvC,CAAC,EACA,OAAO;AAKH,IAAM,kCAAkC,EAC5C,OAAO;AAAA,EACN,iBAAiB,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,EAC3C,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG;AAClD,CAAC,EACA,OAAO;AAGH,SAAS,2BACd,YACS;AACT,SACE,WAAW,eAAe,YAAY,MAAM,mCAC5C,WAAW,SAAS,YACpB,iCAAiC,UAAU,WAAW,QAAQ,EAAE;AAEpE;AAEO,SAAS,kCACd,UACS;AACT,SAAO,UAAU,mBAAmB;AACtC;","names":[]}
|
package/dist/session-titles.d.ts
CHANGED
|
@@ -12,6 +12,15 @@ export declare const AUTOMATIC_SESSION_TITLE_MAX_GRAPHEMES = 80;
|
|
|
12
12
|
* credential or leave a raw prompt prefix in navigation surfaces.
|
|
13
13
|
*/
|
|
14
14
|
export declare const AUTOMATIC_SESSION_TITLE_FALLBACK = "New conversation";
|
|
15
|
+
/**
|
|
16
|
+
* Whether a bounded automatic-title candidate contains a credential, URL, or
|
|
17
|
+
* opaque identifier that must stay out of navigation and other display-title
|
|
18
|
+
* surfaces. Callers handling an unbounded source must bound it before invoking
|
|
19
|
+
* this helper.
|
|
20
|
+
*/
|
|
21
|
+
export declare function containsSensitiveAutomaticSessionTitleValue(value: string): boolean;
|
|
22
|
+
/** Bound an already-normalized automatic-title candidate without splitting graphemes. */
|
|
23
|
+
export declare function boundAutomaticSessionTitle(value: string): string;
|
|
15
24
|
/**
|
|
16
25
|
* Normalize a model/system-authored title before it reaches durable session
|
|
17
26
|
* metadata. Human renames intentionally do not use this path.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AUTOMATIC_SESSION_TITLE_FALLBACK,
|
|
3
|
+
AUTOMATIC_SESSION_TITLE_MAX_GRAPHEMES,
|
|
4
|
+
SESSION_TITLE_MAX_CHARACTERS,
|
|
5
|
+
boundAutomaticSessionTitle,
|
|
6
|
+
containsSensitiveAutomaticSessionTitleValue,
|
|
7
|
+
normalizeAutomaticSessionTitle
|
|
8
|
+
} from "./chunk-4IVHBXRI.js";
|
|
9
|
+
export {
|
|
10
|
+
AUTOMATIC_SESSION_TITLE_FALLBACK,
|
|
11
|
+
AUTOMATIC_SESSION_TITLE_MAX_GRAPHEMES,
|
|
12
|
+
SESSION_TITLE_MAX_CHARACTERS,
|
|
13
|
+
boundAutomaticSessionTitle,
|
|
14
|
+
containsSensitiveAutomaticSessionTitleValue,
|
|
15
|
+
normalizeAutomaticSessionTitle
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=session-titles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const SessionStatus: z.ZodEnum<{
|
|
3
|
+
cancelled: "cancelled";
|
|
4
|
+
failed: "failed";
|
|
5
|
+
idle: "idle";
|
|
6
|
+
queued: "queued";
|
|
7
|
+
recovering: "recovering";
|
|
8
|
+
requires_action: "requires_action";
|
|
9
|
+
running: "running";
|
|
10
|
+
waiting_capacity: "waiting_capacity";
|
|
11
|
+
}>;
|
|
12
|
+
export type SessionStatus = z.infer<typeof SessionStatus>;
|
|
13
|
+
export declare const SessionGoalStatus: z.ZodEnum<{
|
|
14
|
+
active: "active";
|
|
15
|
+
completed: "completed";
|
|
16
|
+
paused: "paused";
|
|
17
|
+
}>;
|
|
18
|
+
export type SessionGoalStatus = z.infer<typeof SessionGoalStatus>;
|
|
19
|
+
/** Physical ceiling of the PostgreSQL integer columns that persist depth policy. */
|
|
20
|
+
export declare const MAX_NESTED_AGENT_DEPTH = 2147483647;
|
|
21
|
+
export declare const NestedAgentDepthValue: z.ZodNumber;
|
|
22
|
+
export type NestedAgentDepthValue = z.infer<typeof NestedAgentDepthValue>;
|