@alfe.ai/claude-code-host 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.d.cts +174 -144
  2. package/dist/index.d.ts +174 -144
  3. package/package.json +3 -3
package/dist/index.d.cts CHANGED
@@ -667,6 +667,168 @@ declare class VoiceApi extends ApiBase {
667
667
  }
668
668
  //# sourceMappingURL=voice.d.ts.map
669
669
  //#endregion
670
+ //#region src/domains/identity.d.ts
671
+ type IdentityStatus = "anonymous" | "partial" | "identified" | "verified";
672
+ interface IdentityDirectoryEntry {
673
+ identityId: string;
674
+ status: IdentityStatus;
675
+ displayName: string;
676
+ name?: string;
677
+ avatarUrl?: string;
678
+ lastSeenAt: string;
679
+ lastSeenProvider?: string;
680
+ messageable: boolean;
681
+ }
682
+ declare class IdentityApi extends ApiBase {
683
+ /**
684
+ * Returns the calling agent's own identity context — `{ agentId, tenantId }`
685
+ * decoded server-side from the agent API token. Used by the
686
+ * `@alfe.ai/openclaw-identity` plugin to bootstrap context when the
687
+ * OpenClaw daemon doesn't plumb `ctx.agentId` through to plugin hooks.
688
+ * Plugins should cache this for the daemon's lifetime (single-agent-per-
689
+ * process invariant). One HTTP round-trip per process activate; not for
690
+ * per-call use.
691
+ */
692
+ whoami(): Promise<{
693
+ agentId: string;
694
+ tenantId: string;
695
+ }>;
696
+ resolveIdentity(args: {
697
+ provider: string;
698
+ platformId: string;
699
+ kind?: "user" | "agent" | "service" | "bot" | "workspace";
700
+ displayName?: string;
701
+ }): Promise<{
702
+ identityId: string | null;
703
+ status: string;
704
+ created?: boolean;
705
+ reason?: string;
706
+ /**
707
+ * Flattened auriclabs permission strings for the resolved identity
708
+ * (scope-prefixed where applicable). Empty array on miss / org service
709
+ * outage — the runtime gate fails closed in that case.
710
+ */
711
+ permissions: string[];
712
+ }>;
713
+ searchIdentities(args?: {
714
+ q?: string;
715
+ status?: string;
716
+ limit?: number;
717
+ }): Promise<{
718
+ identities: unknown[];
719
+ }>;
720
+ listIdentities(args?: {
721
+ status?: IdentityStatus;
722
+ limit?: number;
723
+ cursor?: string;
724
+ }): Promise<{
725
+ identities: IdentityDirectoryEntry[];
726
+ cursor: string | null;
727
+ }>;
728
+ getIdentityContext(identityId: string): Promise<{
729
+ context: unknown;
730
+ }>;
731
+ mergeIdentities(survivorId: string, args: {
732
+ mergedId: string;
733
+ }): Promise<{
734
+ ok: boolean;
735
+ error?: string;
736
+ }>;
737
+ unmergeIdentity(identityId: string): Promise<{
738
+ ok: boolean;
739
+ error?: string;
740
+ }>;
741
+ addIdentityNote(identityId: string, args: {
742
+ content: string;
743
+ category?: string;
744
+ }): Promise<{
745
+ noteId: string | null;
746
+ }>;
747
+ tagIdentity(identityId: string, args: {
748
+ tag: string;
749
+ action: "add" | "remove";
750
+ }): Promise<{
751
+ ok: boolean;
752
+ }>;
753
+ getIdentityChangelog(identityId: string, args?: {
754
+ limit?: number;
755
+ cursor?: string;
756
+ }): Promise<{
757
+ entries: unknown[];
758
+ cursor: string | null;
759
+ }>;
760
+ rollbackIdentity(identityId: string, args: {
761
+ targetVersion: number;
762
+ }): Promise<{
763
+ ok: boolean;
764
+ entry?: unknown;
765
+ }>;
766
+ requestIdentityVerification(args: {
767
+ claimedIdentityId: string;
768
+ requestingIdentityId: string;
769
+ requestingProvider: string;
770
+ requestingPlatformId: string;
771
+ preferredChannel?: "mobile" | "email";
772
+ /**
773
+ * Phase 2: agent-supplied contact endpoint. When provided, the top-level
774
+ * `preferredChannel` is ignored — the contact's channel wins.
775
+ */
776
+ contact?: {
777
+ channel: "email" | "mobile";
778
+ value: string;
779
+ };
780
+ }): Promise<{
781
+ verificationId: string;
782
+ channel: string;
783
+ deliveredTo: string;
784
+ expiresAt: string;
785
+ availableChannels: {
786
+ channel: string;
787
+ deliveredTo: string;
788
+ }[];
789
+ } | {
790
+ error: string;
791
+ }>;
792
+ confirmIdentityVerification(args: {
793
+ claimedIdentityId: string;
794
+ verificationId: string;
795
+ phrase: string;
796
+ }): Promise<{
797
+ verified: boolean;
798
+ identityId?: string;
799
+ /** Phase 2: how the confirm resolved — Scenario A vs B. */
800
+ action?: "merged" | "contact_verified" | "already_confirmed";
801
+ error?: string;
802
+ }>;
803
+ /**
804
+ * Update display-shape fields on an Identity. Body excludes `email` /
805
+ * `phone` / `title` / `company` / `metadata` per Section D4 — contacts go
806
+ * via the verify flow, title/company live on OrgMembership, metadata is
807
+ * not agent-writable.
808
+ */
809
+ updateIdentity(identityId: string, args: {
810
+ name?: string;
811
+ avatarUrl?: string;
812
+ timezone?: string;
813
+ locale?: string;
814
+ }): Promise<{
815
+ ok: boolean;
816
+ }>;
817
+ /**
818
+ * Phase 2 (Section H): server-side verification of a Google Chat sender via
819
+ * the agent's existing Google OAuth credentials. Returns the resolved
820
+ * identity (created or matched via Scenario-B email enrichment).
821
+ */
822
+ resolveGoogleChatSender(args: {
823
+ senderUserId: string;
824
+ spaceId?: string;
825
+ }): Promise<{
826
+ identityId: string | null;
827
+ status: string;
828
+ }>;
829
+ }
830
+ //# sourceMappingURL=identity.d.ts.map
831
+ //#endregion
670
832
  //#region src/domains/search.d.ts
671
833
  /**
672
834
  * The broad-news providers behind the metered `services/news` Lambda. The
@@ -778,6 +940,14 @@ declare class WebhooksApi extends ApiBase {
778
940
  //#endregion
779
941
  //#region src/domains/chat.d.ts
780
942
  declare class ChatApi extends ApiBase {
943
+ ensureDirectConversation(identityId: string): Promise<{
944
+ conversationId: string;
945
+ identityId: string;
946
+ tenantId: string;
947
+ userId: string;
948
+ displayName: string;
949
+ created: boolean;
950
+ }>;
781
951
  presignAttachments(files: {
782
952
  filename: string;
783
953
  mimeType: string;
@@ -786,6 +956,7 @@ declare class ChatApi extends ApiBase {
786
956
  attachments: {
787
957
  id: string;
788
958
  uploadUrl: string;
959
+ uploadHeaders: Record<string, string>;
789
960
  downloadUrl: string;
790
961
  s3Key: string;
791
962
  expiresAt: string;
@@ -1429,149 +1600,6 @@ declare class DatabaseApi extends ApiBase {
1429
1600
  }
1430
1601
  //# sourceMappingURL=database.d.ts.map
1431
1602
  //#endregion
1432
- //#region src/domains/identity.d.ts
1433
- declare class IdentityApi extends ApiBase {
1434
- /**
1435
- * Returns the calling agent's own identity context — `{ agentId, tenantId }`
1436
- * decoded server-side from the agent API token. Used by the
1437
- * `@alfe.ai/openclaw-identity` plugin to bootstrap context when the
1438
- * OpenClaw daemon doesn't plumb `ctx.agentId` through to plugin hooks.
1439
- * Plugins should cache this for the daemon's lifetime (single-agent-per-
1440
- * process invariant). One HTTP round-trip per process activate; not for
1441
- * per-call use.
1442
- */
1443
- whoami(): Promise<{
1444
- agentId: string;
1445
- tenantId: string;
1446
- }>;
1447
- resolveIdentity(args: {
1448
- provider: string;
1449
- platformId: string;
1450
- kind?: "user" | "agent" | "service" | "bot" | "workspace";
1451
- displayName?: string;
1452
- }): Promise<{
1453
- identityId: string | null;
1454
- status: string;
1455
- created?: boolean;
1456
- reason?: string;
1457
- /**
1458
- * Flattened auriclabs permission strings for the resolved identity
1459
- * (scope-prefixed where applicable). Empty array on miss / org service
1460
- * outage — the runtime gate fails closed in that case.
1461
- */
1462
- permissions: string[];
1463
- }>;
1464
- searchIdentities(args?: {
1465
- q?: string;
1466
- status?: string;
1467
- limit?: number;
1468
- }): Promise<{
1469
- identities: unknown[];
1470
- }>;
1471
- getIdentityContext(identityId: string): Promise<{
1472
- context: unknown;
1473
- }>;
1474
- mergeIdentities(survivorId: string, args: {
1475
- mergedId: string;
1476
- }): Promise<{
1477
- ok: boolean;
1478
- error?: string;
1479
- }>;
1480
- unmergeIdentity(identityId: string): Promise<{
1481
- ok: boolean;
1482
- error?: string;
1483
- }>;
1484
- addIdentityNote(identityId: string, args: {
1485
- content: string;
1486
- category?: string;
1487
- }): Promise<{
1488
- noteId: string | null;
1489
- }>;
1490
- tagIdentity(identityId: string, args: {
1491
- tag: string;
1492
- action: "add" | "remove";
1493
- }): Promise<{
1494
- ok: boolean;
1495
- }>;
1496
- getIdentityChangelog(identityId: string, args?: {
1497
- limit?: number;
1498
- cursor?: string;
1499
- }): Promise<{
1500
- entries: unknown[];
1501
- cursor: string | null;
1502
- }>;
1503
- rollbackIdentity(identityId: string, args: {
1504
- targetVersion: number;
1505
- }): Promise<{
1506
- ok: boolean;
1507
- entry?: unknown;
1508
- }>;
1509
- requestIdentityVerification(args: {
1510
- claimedIdentityId: string;
1511
- requestingIdentityId: string;
1512
- requestingProvider: string;
1513
- requestingPlatformId: string;
1514
- preferredChannel?: "mobile" | "email";
1515
- /**
1516
- * Phase 2: agent-supplied contact endpoint. When provided, the top-level
1517
- * `preferredChannel` is ignored — the contact's channel wins.
1518
- */
1519
- contact?: {
1520
- channel: "email" | "mobile";
1521
- value: string;
1522
- };
1523
- }): Promise<{
1524
- verificationId: string;
1525
- channel: string;
1526
- deliveredTo: string;
1527
- expiresAt: string;
1528
- availableChannels: {
1529
- channel: string;
1530
- deliveredTo: string;
1531
- }[];
1532
- } | {
1533
- error: string;
1534
- }>;
1535
- confirmIdentityVerification(args: {
1536
- claimedIdentityId: string;
1537
- verificationId: string;
1538
- phrase: string;
1539
- }): Promise<{
1540
- verified: boolean;
1541
- identityId?: string;
1542
- /** Phase 2: how the confirm resolved — Scenario A vs B. */
1543
- action?: "merged" | "contact_verified" | "already_confirmed";
1544
- error?: string;
1545
- }>;
1546
- /**
1547
- * Update display-shape fields on an Identity. Body excludes `email` /
1548
- * `phone` / `title` / `company` / `metadata` per Section D4 — contacts go
1549
- * via the verify flow, title/company live on OrgMembership, metadata is
1550
- * not agent-writable.
1551
- */
1552
- updateIdentity(identityId: string, args: {
1553
- name?: string;
1554
- avatarUrl?: string;
1555
- timezone?: string;
1556
- locale?: string;
1557
- }): Promise<{
1558
- ok: boolean;
1559
- }>;
1560
- /**
1561
- * Phase 2 (Section H): server-side verification of a Google Chat sender via
1562
- * the agent's existing Google OAuth credentials. Returns the resolved
1563
- * identity (created or matched via Scenario-B email enrichment).
1564
- */
1565
- resolveGoogleChatSender(args: {
1566
- senderUserId: string;
1567
- spaceId?: string;
1568
- }): Promise<{
1569
- identityId: string | null;
1570
- status: string;
1571
- }>;
1572
- }
1573
- //# sourceMappingURL=identity.d.ts.map
1574
- //#endregion
1575
1603
  //#region src/domains/images.d.ts
1576
1604
  declare class ImagesApi extends ApiBase {
1577
1605
  /**
@@ -1607,7 +1635,9 @@ declare class IntegrationsApi extends ApiBase {
1607
1635
  config?: Record<string, unknown>;
1608
1636
  }): Promise<IntegrationInstall>;
1609
1637
  removeIntegration(integrationId: string): Promise<IntegrationInstall>;
1610
- getOAuthUrl(provider: string, scopes?: string[]): Promise<{
1638
+ getOAuthUrl(provider: string, scopes?: string[], options?: {
1639
+ shop?: string;
1640
+ }): Promise<{
1611
1641
  url: string;
1612
1642
  provider: string;
1613
1643
  expiresIn: number;
package/dist/index.d.ts CHANGED
@@ -667,6 +667,168 @@ declare class VoiceApi extends ApiBase {
667
667
  }
668
668
  //# sourceMappingURL=voice.d.ts.map
669
669
  //#endregion
670
+ //#region src/domains/identity.d.ts
671
+ type IdentityStatus = "anonymous" | "partial" | "identified" | "verified";
672
+ interface IdentityDirectoryEntry {
673
+ identityId: string;
674
+ status: IdentityStatus;
675
+ displayName: string;
676
+ name?: string;
677
+ avatarUrl?: string;
678
+ lastSeenAt: string;
679
+ lastSeenProvider?: string;
680
+ messageable: boolean;
681
+ }
682
+ declare class IdentityApi extends ApiBase {
683
+ /**
684
+ * Returns the calling agent's own identity context — `{ agentId, tenantId }`
685
+ * decoded server-side from the agent API token. Used by the
686
+ * `@alfe.ai/openclaw-identity` plugin to bootstrap context when the
687
+ * OpenClaw daemon doesn't plumb `ctx.agentId` through to plugin hooks.
688
+ * Plugins should cache this for the daemon's lifetime (single-agent-per-
689
+ * process invariant). One HTTP round-trip per process activate; not for
690
+ * per-call use.
691
+ */
692
+ whoami(): Promise<{
693
+ agentId: string;
694
+ tenantId: string;
695
+ }>;
696
+ resolveIdentity(args: {
697
+ provider: string;
698
+ platformId: string;
699
+ kind?: "user" | "agent" | "service" | "bot" | "workspace";
700
+ displayName?: string;
701
+ }): Promise<{
702
+ identityId: string | null;
703
+ status: string;
704
+ created?: boolean;
705
+ reason?: string;
706
+ /**
707
+ * Flattened auriclabs permission strings for the resolved identity
708
+ * (scope-prefixed where applicable). Empty array on miss / org service
709
+ * outage — the runtime gate fails closed in that case.
710
+ */
711
+ permissions: string[];
712
+ }>;
713
+ searchIdentities(args?: {
714
+ q?: string;
715
+ status?: string;
716
+ limit?: number;
717
+ }): Promise<{
718
+ identities: unknown[];
719
+ }>;
720
+ listIdentities(args?: {
721
+ status?: IdentityStatus;
722
+ limit?: number;
723
+ cursor?: string;
724
+ }): Promise<{
725
+ identities: IdentityDirectoryEntry[];
726
+ cursor: string | null;
727
+ }>;
728
+ getIdentityContext(identityId: string): Promise<{
729
+ context: unknown;
730
+ }>;
731
+ mergeIdentities(survivorId: string, args: {
732
+ mergedId: string;
733
+ }): Promise<{
734
+ ok: boolean;
735
+ error?: string;
736
+ }>;
737
+ unmergeIdentity(identityId: string): Promise<{
738
+ ok: boolean;
739
+ error?: string;
740
+ }>;
741
+ addIdentityNote(identityId: string, args: {
742
+ content: string;
743
+ category?: string;
744
+ }): Promise<{
745
+ noteId: string | null;
746
+ }>;
747
+ tagIdentity(identityId: string, args: {
748
+ tag: string;
749
+ action: "add" | "remove";
750
+ }): Promise<{
751
+ ok: boolean;
752
+ }>;
753
+ getIdentityChangelog(identityId: string, args?: {
754
+ limit?: number;
755
+ cursor?: string;
756
+ }): Promise<{
757
+ entries: unknown[];
758
+ cursor: string | null;
759
+ }>;
760
+ rollbackIdentity(identityId: string, args: {
761
+ targetVersion: number;
762
+ }): Promise<{
763
+ ok: boolean;
764
+ entry?: unknown;
765
+ }>;
766
+ requestIdentityVerification(args: {
767
+ claimedIdentityId: string;
768
+ requestingIdentityId: string;
769
+ requestingProvider: string;
770
+ requestingPlatformId: string;
771
+ preferredChannel?: "mobile" | "email";
772
+ /**
773
+ * Phase 2: agent-supplied contact endpoint. When provided, the top-level
774
+ * `preferredChannel` is ignored — the contact's channel wins.
775
+ */
776
+ contact?: {
777
+ channel: "email" | "mobile";
778
+ value: string;
779
+ };
780
+ }): Promise<{
781
+ verificationId: string;
782
+ channel: string;
783
+ deliveredTo: string;
784
+ expiresAt: string;
785
+ availableChannels: {
786
+ channel: string;
787
+ deliveredTo: string;
788
+ }[];
789
+ } | {
790
+ error: string;
791
+ }>;
792
+ confirmIdentityVerification(args: {
793
+ claimedIdentityId: string;
794
+ verificationId: string;
795
+ phrase: string;
796
+ }): Promise<{
797
+ verified: boolean;
798
+ identityId?: string;
799
+ /** Phase 2: how the confirm resolved — Scenario A vs B. */
800
+ action?: "merged" | "contact_verified" | "already_confirmed";
801
+ error?: string;
802
+ }>;
803
+ /**
804
+ * Update display-shape fields on an Identity. Body excludes `email` /
805
+ * `phone` / `title` / `company` / `metadata` per Section D4 — contacts go
806
+ * via the verify flow, title/company live on OrgMembership, metadata is
807
+ * not agent-writable.
808
+ */
809
+ updateIdentity(identityId: string, args: {
810
+ name?: string;
811
+ avatarUrl?: string;
812
+ timezone?: string;
813
+ locale?: string;
814
+ }): Promise<{
815
+ ok: boolean;
816
+ }>;
817
+ /**
818
+ * Phase 2 (Section H): server-side verification of a Google Chat sender via
819
+ * the agent's existing Google OAuth credentials. Returns the resolved
820
+ * identity (created or matched via Scenario-B email enrichment).
821
+ */
822
+ resolveGoogleChatSender(args: {
823
+ senderUserId: string;
824
+ spaceId?: string;
825
+ }): Promise<{
826
+ identityId: string | null;
827
+ status: string;
828
+ }>;
829
+ }
830
+ //# sourceMappingURL=identity.d.ts.map
831
+ //#endregion
670
832
  //#region src/domains/search.d.ts
671
833
  /**
672
834
  * The broad-news providers behind the metered `services/news` Lambda. The
@@ -778,6 +940,14 @@ declare class WebhooksApi extends ApiBase {
778
940
  //#endregion
779
941
  //#region src/domains/chat.d.ts
780
942
  declare class ChatApi extends ApiBase {
943
+ ensureDirectConversation(identityId: string): Promise<{
944
+ conversationId: string;
945
+ identityId: string;
946
+ tenantId: string;
947
+ userId: string;
948
+ displayName: string;
949
+ created: boolean;
950
+ }>;
781
951
  presignAttachments(files: {
782
952
  filename: string;
783
953
  mimeType: string;
@@ -786,6 +956,7 @@ declare class ChatApi extends ApiBase {
786
956
  attachments: {
787
957
  id: string;
788
958
  uploadUrl: string;
959
+ uploadHeaders: Record<string, string>;
789
960
  downloadUrl: string;
790
961
  s3Key: string;
791
962
  expiresAt: string;
@@ -1429,149 +1600,6 @@ declare class DatabaseApi extends ApiBase {
1429
1600
  }
1430
1601
  //# sourceMappingURL=database.d.ts.map
1431
1602
  //#endregion
1432
- //#region src/domains/identity.d.ts
1433
- declare class IdentityApi extends ApiBase {
1434
- /**
1435
- * Returns the calling agent's own identity context — `{ agentId, tenantId }`
1436
- * decoded server-side from the agent API token. Used by the
1437
- * `@alfe.ai/openclaw-identity` plugin to bootstrap context when the
1438
- * OpenClaw daemon doesn't plumb `ctx.agentId` through to plugin hooks.
1439
- * Plugins should cache this for the daemon's lifetime (single-agent-per-
1440
- * process invariant). One HTTP round-trip per process activate; not for
1441
- * per-call use.
1442
- */
1443
- whoami(): Promise<{
1444
- agentId: string;
1445
- tenantId: string;
1446
- }>;
1447
- resolveIdentity(args: {
1448
- provider: string;
1449
- platformId: string;
1450
- kind?: "user" | "agent" | "service" | "bot" | "workspace";
1451
- displayName?: string;
1452
- }): Promise<{
1453
- identityId: string | null;
1454
- status: string;
1455
- created?: boolean;
1456
- reason?: string;
1457
- /**
1458
- * Flattened auriclabs permission strings for the resolved identity
1459
- * (scope-prefixed where applicable). Empty array on miss / org service
1460
- * outage — the runtime gate fails closed in that case.
1461
- */
1462
- permissions: string[];
1463
- }>;
1464
- searchIdentities(args?: {
1465
- q?: string;
1466
- status?: string;
1467
- limit?: number;
1468
- }): Promise<{
1469
- identities: unknown[];
1470
- }>;
1471
- getIdentityContext(identityId: string): Promise<{
1472
- context: unknown;
1473
- }>;
1474
- mergeIdentities(survivorId: string, args: {
1475
- mergedId: string;
1476
- }): Promise<{
1477
- ok: boolean;
1478
- error?: string;
1479
- }>;
1480
- unmergeIdentity(identityId: string): Promise<{
1481
- ok: boolean;
1482
- error?: string;
1483
- }>;
1484
- addIdentityNote(identityId: string, args: {
1485
- content: string;
1486
- category?: string;
1487
- }): Promise<{
1488
- noteId: string | null;
1489
- }>;
1490
- tagIdentity(identityId: string, args: {
1491
- tag: string;
1492
- action: "add" | "remove";
1493
- }): Promise<{
1494
- ok: boolean;
1495
- }>;
1496
- getIdentityChangelog(identityId: string, args?: {
1497
- limit?: number;
1498
- cursor?: string;
1499
- }): Promise<{
1500
- entries: unknown[];
1501
- cursor: string | null;
1502
- }>;
1503
- rollbackIdentity(identityId: string, args: {
1504
- targetVersion: number;
1505
- }): Promise<{
1506
- ok: boolean;
1507
- entry?: unknown;
1508
- }>;
1509
- requestIdentityVerification(args: {
1510
- claimedIdentityId: string;
1511
- requestingIdentityId: string;
1512
- requestingProvider: string;
1513
- requestingPlatformId: string;
1514
- preferredChannel?: "mobile" | "email";
1515
- /**
1516
- * Phase 2: agent-supplied contact endpoint. When provided, the top-level
1517
- * `preferredChannel` is ignored — the contact's channel wins.
1518
- */
1519
- contact?: {
1520
- channel: "email" | "mobile";
1521
- value: string;
1522
- };
1523
- }): Promise<{
1524
- verificationId: string;
1525
- channel: string;
1526
- deliveredTo: string;
1527
- expiresAt: string;
1528
- availableChannels: {
1529
- channel: string;
1530
- deliveredTo: string;
1531
- }[];
1532
- } | {
1533
- error: string;
1534
- }>;
1535
- confirmIdentityVerification(args: {
1536
- claimedIdentityId: string;
1537
- verificationId: string;
1538
- phrase: string;
1539
- }): Promise<{
1540
- verified: boolean;
1541
- identityId?: string;
1542
- /** Phase 2: how the confirm resolved — Scenario A vs B. */
1543
- action?: "merged" | "contact_verified" | "already_confirmed";
1544
- error?: string;
1545
- }>;
1546
- /**
1547
- * Update display-shape fields on an Identity. Body excludes `email` /
1548
- * `phone` / `title` / `company` / `metadata` per Section D4 — contacts go
1549
- * via the verify flow, title/company live on OrgMembership, metadata is
1550
- * not agent-writable.
1551
- */
1552
- updateIdentity(identityId: string, args: {
1553
- name?: string;
1554
- avatarUrl?: string;
1555
- timezone?: string;
1556
- locale?: string;
1557
- }): Promise<{
1558
- ok: boolean;
1559
- }>;
1560
- /**
1561
- * Phase 2 (Section H): server-side verification of a Google Chat sender via
1562
- * the agent's existing Google OAuth credentials. Returns the resolved
1563
- * identity (created or matched via Scenario-B email enrichment).
1564
- */
1565
- resolveGoogleChatSender(args: {
1566
- senderUserId: string;
1567
- spaceId?: string;
1568
- }): Promise<{
1569
- identityId: string | null;
1570
- status: string;
1571
- }>;
1572
- }
1573
- //# sourceMappingURL=identity.d.ts.map
1574
- //#endregion
1575
1603
  //#region src/domains/images.d.ts
1576
1604
  declare class ImagesApi extends ApiBase {
1577
1605
  /**
@@ -1607,7 +1635,9 @@ declare class IntegrationsApi extends ApiBase {
1607
1635
  config?: Record<string, unknown>;
1608
1636
  }): Promise<IntegrationInstall>;
1609
1637
  removeIntegration(integrationId: string): Promise<IntegrationInstall>;
1610
- getOAuthUrl(provider: string, scopes?: string[]): Promise<{
1638
+ getOAuthUrl(provider: string, scopes?: string[], options?: {
1639
+ shop?: string;
1640
+ }): Promise<{
1611
1641
  url: string;
1612
1642
  provider: string;
1613
1643
  expiresIn: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfe.ai/claude-code-host",
3
- "version": "0.1.8",
3
+ "version": "0.1.10",
4
4
  "description": "Chat bridge that makes a self-hosted Claude Code agent reachable from Alfe chat on the user's Claude subscription",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,8 +19,8 @@
19
19
  "dist"
20
20
  ],
21
21
  "dependencies": {
22
- "@alfe.ai/agent-api-client": "^0.16.0",
23
- "@alfe.ai/chat": "^0.0.18",
22
+ "@alfe.ai/agent-api-client": "^0.17.1",
23
+ "@alfe.ai/chat": "^0.0.19",
24
24
  "@alfe.ai/config": "^0.4.1"
25
25
  },
26
26
  "license": "UNLICENSED",