@pingagent/sdk 0.1.10 → 0.1.11

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/index.d.ts CHANGED
@@ -160,6 +160,40 @@ declare class SessionManager {
160
160
  resolveReplyTarget(sessionKey?: string): ReplyTarget | null;
161
161
  }
162
162
 
163
+ interface SessionSummary {
164
+ session_key: string;
165
+ objective?: string;
166
+ context?: string;
167
+ constraints?: string;
168
+ decisions?: string;
169
+ open_questions?: string;
170
+ next_action?: string;
171
+ handoff_ready_text?: string;
172
+ updated_at: number;
173
+ }
174
+ interface SessionSummaryUpsert {
175
+ session_key: string;
176
+ objective?: string | null;
177
+ context?: string | null;
178
+ constraints?: string | null;
179
+ decisions?: string | null;
180
+ open_questions?: string | null;
181
+ next_action?: string | null;
182
+ handoff_ready_text?: string | null;
183
+ updated_at?: number;
184
+ }
185
+ type SessionSummaryFieldKey = 'objective' | 'context' | 'constraints' | 'decisions' | 'open_questions' | 'next_action' | 'handoff_ready_text';
186
+ declare const SESSION_SUMMARY_FIELDS: SessionSummaryFieldKey[];
187
+ declare function buildSessionSummaryHandoffText(summary?: SessionSummary | null): string;
188
+ declare class SessionSummaryManager {
189
+ private store;
190
+ constructor(store: LocalStore);
191
+ upsert(input: SessionSummaryUpsert): SessionSummary;
192
+ get(sessionKey: string): SessionSummary | null;
193
+ listRecent(limit?: number): SessionSummary[];
194
+ clearFields(sessionKey: string, fields: SessionSummaryFieldKey[], updatedAt?: number): SessionSummary;
195
+ }
196
+
163
197
  type TaskThreadStatus = 'queued' | 'running' | 'processed' | 'failed' | 'cancelled';
164
198
  interface TaskThread {
165
199
  task_id: string;
@@ -195,6 +229,64 @@ declare class TaskThreadManager {
195
229
  listRecent(limit?: number): TaskThread[];
196
230
  }
197
231
 
232
+ interface TaskHandoff {
233
+ task_id: string;
234
+ session_key: string;
235
+ conversation_id: string;
236
+ objective?: string;
237
+ carry_forward_summary?: string;
238
+ success_criteria?: string;
239
+ callback_session_key?: string;
240
+ priority?: string;
241
+ delegated_by?: string;
242
+ delegated_to?: string;
243
+ updated_at: number;
244
+ }
245
+ interface TaskHandoffPayload {
246
+ objective?: string;
247
+ carry_forward_summary?: string;
248
+ success_criteria?: string;
249
+ callback_session_key?: string;
250
+ priority?: string;
251
+ delegated_by?: string;
252
+ delegated_to?: string;
253
+ }
254
+ interface TaskHandoffUpsert extends TaskHandoffPayload {
255
+ task_id: string;
256
+ session_key: string;
257
+ conversation_id: string;
258
+ updated_at?: number;
259
+ }
260
+ declare class TaskHandoffManager {
261
+ private store;
262
+ constructor(store: LocalStore);
263
+ upsert(input: TaskHandoffUpsert): TaskHandoff;
264
+ get(taskId: string): TaskHandoff | null;
265
+ listBySession(sessionKey: string, limit?: number): TaskHandoff[];
266
+ }
267
+
268
+ type CapabilityContactMode = 'dm' | 'task' | 'either';
269
+ interface CapabilityCardItem {
270
+ id: string;
271
+ label?: string;
272
+ description?: string;
273
+ accepts_tasks?: boolean;
274
+ accepts_messages?: boolean;
275
+ input_modes?: string[];
276
+ output_modes?: string[];
277
+ examples?: string[];
278
+ }
279
+ interface CapabilityCard {
280
+ version: string;
281
+ summary?: string;
282
+ accepts_new_work?: boolean;
283
+ preferred_contact_mode?: CapabilityContactMode;
284
+ capabilities: CapabilityCardItem[];
285
+ }
286
+ declare function normalizeCapabilityCard(value: unknown): CapabilityCard | undefined;
287
+ declare function capabilityCardToLegacyCapabilities(card?: CapabilityCard | null): string[];
288
+ declare function formatCapabilityCardSummary(card?: CapabilityCard | null): string;
289
+
198
290
  interface EncryptionPublicKeyJwk {
199
291
  kty: 'EC';
200
292
  crv: 'P-256';
@@ -331,9 +423,13 @@ interface ConversationListResponse {
331
423
  interface AgentProfile {
332
424
  did: string;
333
425
  alias?: string;
426
+ public_slug?: string | null;
427
+ public_share_enabled?: boolean;
428
+ public_updated_at?: number | null;
334
429
  display_name?: string;
335
430
  bio?: string;
336
431
  capabilities?: string[];
432
+ capability_card?: CapabilityCard | null;
337
433
  tags?: string[];
338
434
  verification_status?: string;
339
435
  discoverable?: boolean;
@@ -369,6 +465,9 @@ interface AgentDirectoryCard {
369
465
  interface DirectorySelfResponse {
370
466
  did: string;
371
467
  alias?: string | null;
468
+ public_slug?: string | null;
469
+ public_share_enabled?: boolean;
470
+ public_updated_at?: number | null;
372
471
  verification_status?: string;
373
472
  encryption_public_key?: EncryptionPublicKeyJwk | null;
374
473
  mode?: string;
@@ -376,6 +475,66 @@ interface DirectorySelfResponse {
376
475
  billing_primary_did?: string | null;
377
476
  is_billing_primary?: boolean;
378
477
  }
478
+ interface PublicAgentProfile extends AgentProfile {
479
+ public_slug?: string | null;
480
+ public_share_enabled?: boolean;
481
+ public_updated_at?: number | null;
482
+ canonical_slug?: string | null;
483
+ public_url?: string | null;
484
+ noindex?: boolean;
485
+ accepts_new_contacts?: boolean;
486
+ quick_connect?: {
487
+ openclaw: string;
488
+ cli: string;
489
+ web_dm_url: string;
490
+ };
491
+ route_slug?: string | null;
492
+ source?: 'public_slug' | 'alias' | 'demo';
493
+ }
494
+ interface UpdateProfileInput {
495
+ display_name?: string;
496
+ bio?: string;
497
+ capabilities?: string[] | string;
498
+ capability_card?: CapabilityCard | null;
499
+ tags?: string[] | string;
500
+ discoverable?: boolean;
501
+ }
502
+ interface PublicLinkState {
503
+ did: string;
504
+ alias?: string | null;
505
+ public_slug?: string | null;
506
+ public_share_enabled?: boolean;
507
+ public_updated_at?: number | null;
508
+ discoverable?: boolean;
509
+ canonical_slug?: string | null;
510
+ public_url?: string | null;
511
+ }
512
+ interface ContactCardShare {
513
+ id: string;
514
+ target_did: string;
515
+ referrer_did?: string | null;
516
+ intro_note?: string;
517
+ message_template?: string;
518
+ created_by_did: string;
519
+ created_at: number;
520
+ revoked_at?: number | null;
521
+ share_url?: string;
522
+ target?: PublicAgentProfile;
523
+ }
524
+ interface TaskShareEntry {
525
+ id: string;
526
+ owner_did: string;
527
+ task_id?: string | null;
528
+ title?: string | null;
529
+ status: string;
530
+ generated_summary: string;
531
+ redacted_metadata?: Record<string, unknown> | null;
532
+ created_at: number;
533
+ revoked_at?: number | null;
534
+ share_url?: string;
535
+ owner?: PublicAgentProfile;
536
+ noindex?: boolean;
537
+ }
379
538
  declare class PingAgentClient {
380
539
  private opts;
381
540
  private transport;
@@ -383,13 +542,17 @@ declare class PingAgentClient {
383
542
  private contactManager?;
384
543
  private historyManager?;
385
544
  private sessionManager?;
545
+ private sessionSummaryManager?;
386
546
  private taskThreadManager?;
547
+ private taskHandoffManager?;
387
548
  private agentCardCache;
388
549
  constructor(opts: ClientOptions);
389
550
  getContactManager(): ContactManager | undefined;
390
551
  getHistoryManager(): HistoryManager | undefined;
391
552
  getSessionManager(): SessionManager | undefined;
553
+ getSessionSummaryManager(): SessionSummaryManager | undefined;
392
554
  getTaskThreadManager(): TaskThreadManager | undefined;
555
+ getTaskHandoffManager(): TaskHandoffManager | undefined;
393
556
  /** Update the in-memory access token (e.g. after proactive refresh from disk). */
394
557
  setAccessToken(token: string): void;
395
558
  register(developerToken?: string): Promise<ApiResponse>;
@@ -411,6 +574,7 @@ declare class PingAgentClient {
411
574
  description?: string;
412
575
  input?: any;
413
576
  timeout_ms?: number;
577
+ handoff?: TaskHandoffPayload;
414
578
  }): Promise<ApiResponse<SendResponse>>;
415
579
  sendContactRequest(conversationId: string, message?: string): Promise<ApiResponse<SendResponse>>;
416
580
  fetchInbox(conversationId: string, opts?: {
@@ -458,13 +622,33 @@ declare class PingAgentClient {
458
622
  }>>;
459
623
  getProfile(): Promise<ApiResponse<AgentProfile>>;
460
624
  getDirectorySelf(): Promise<ApiResponse<DirectorySelfResponse>>;
461
- updateProfile(profile: {
462
- display_name?: string;
463
- bio?: string;
464
- capabilities?: string[];
465
- tags?: string[];
466
- discoverable?: boolean;
467
- }): Promise<ApiResponse<AgentProfile>>;
625
+ updateProfile(profile: UpdateProfileInput): Promise<ApiResponse<AgentProfile>>;
626
+ createPublicLink(opts?: {
627
+ slug?: string;
628
+ enabled?: boolean;
629
+ }): Promise<ApiResponse<PublicLinkState>>;
630
+ getPublicSelf(): Promise<ApiResponse<PublicLinkState>>;
631
+ getPublicAgent(slug: string): Promise<ApiResponse<PublicAgentProfile>>;
632
+ createContactCard(opts?: {
633
+ target_did?: string;
634
+ referrer_did?: string;
635
+ intro_note?: string;
636
+ message_template?: string;
637
+ }): Promise<ApiResponse<ContactCardShare>>;
638
+ getContactCard(id: string): Promise<ApiResponse<ContactCardShare>>;
639
+ createTaskShare(opts: {
640
+ task_id?: string;
641
+ title?: string;
642
+ status?: string;
643
+ summary: string;
644
+ conversation_id?: string;
645
+ redacted_metadata?: Record<string, unknown>;
646
+ }): Promise<ApiResponse<TaskShareEntry>>;
647
+ getTaskShare(id: string): Promise<ApiResponse<TaskShareEntry>>;
648
+ revokeTaskShare(id: string): Promise<ApiResponse<{
649
+ id: string;
650
+ revoked_at: number;
651
+ }>>;
468
652
  ensureEncryptionKeyPublished(): Promise<ApiResponse<{
469
653
  published: boolean;
470
654
  status: 'already_registered' | 'updated';
@@ -566,6 +750,25 @@ declare class PingAgentClient {
566
750
  timeoutMs?: number;
567
751
  pollIntervalMs?: number;
568
752
  }): Promise<TaskResult>;
753
+ sendHandoff(targetDid: string, handoff: {
754
+ title: string;
755
+ description?: string;
756
+ input?: any;
757
+ objective?: string;
758
+ carry_forward_summary?: string;
759
+ success_criteria?: string;
760
+ callback_session_key?: string;
761
+ priority?: string;
762
+ }, opts?: {
763
+ timeoutMs?: number;
764
+ pollIntervalMs?: number;
765
+ sessionKey?: string;
766
+ conversationId?: string;
767
+ }): Promise<ApiResponse<{
768
+ task_id: string;
769
+ conversation_id: string;
770
+ handoff: TaskHandoffPayload;
771
+ }>>;
569
772
  }
570
773
 
571
774
  declare function ensureIdentityEncryptionKeys(identity: Partial<EncryptionIdentityFields>): EncryptionIdentityFields;
@@ -803,6 +1006,7 @@ interface RecommendationSummary {
803
1006
  total: number;
804
1007
  by_status: Record<string, number>;
805
1008
  }
1009
+ declare function getTrustRecommendationActionLabel(recommendation: Pick<StoredTrustRecommendation, 'policy' | 'action' | 'status'>): string;
806
1010
  declare class TrustRecommendationManager {
807
1011
  private store;
808
1012
  constructor(store: RecommendationStore);
@@ -983,4 +1187,21 @@ declare function clearSessionBindingAlert(conversationId: string, filePath?: str
983
1187
  removed: boolean;
984
1188
  };
985
1189
 
986
- export { A2AAdapter, type A2AAdapterOptions, type A2ATaskResult, type AgentEncryptionCard, type AgentProfile, type ClientOptions, type Contact, ContactManager, type ContactPolicyAction, type ContactPolicyDecision, type ConversationEntry, type ConversationListResponse, type DirectoryBrowseResponse, type DirectorySelfResponse, type EncryptedPayloadWrapper, type EncryptionIdentityFields, type EncryptionPrivateKeyJwk, type EncryptionPublicKeyJwk, type FeedByDidResponse, type FeedPost, type FeedPublicResponse, type FetchResponse, HistoryManager, HttpTransport, LocalStore, PingAgentClient, type RecommendationSummary, type ReplyTarget, type RuntimeMode, type SendResponse, type SessionBindingAlert, type SessionBindingEntry, SessionManager, type SessionMessageInput, type SessionState, type StoredMessage, type StoredTrustRecommendation, type SubscriptionResponse, type SubscriptionUsage, type SyncTrustRecommendationsInput, type TaskPolicyAction, type TaskPolicyDecision, type TaskResult, type TaskThread, TaskThreadManager, type TaskThreadStatus, type TaskThreadUpsert, type TransportOptions, type TrustPolicyAuditEvent, type TrustPolicyAuditEventType, type TrustPolicyAuditInput, TrustPolicyAuditManager, type TrustPolicyAuditSummary, type TrustPolicyContext, type TrustPolicyDoc, type TrustPolicyLearningSummary, type TrustPolicyRecommendation, TrustRecommendationManager, type TrustRecommendationStatus, type TrustState, WsSubscription, type WsSubscriptionOptions, buildSessionKey, buildTrustPolicyRecommendations, clearSessionBindingAlert, decideContactPolicy, decideTaskPolicy, decryptPayloadForIdentity, defaultTrustPolicyDoc, encryptPayloadForRecipients, ensureIdentityEncryptionKeys, ensureTokenValid, generateIdentity, getActiveSessionFilePath, getIdentityPath, getProfile, getRootDir, getSessionBindingAlertsFilePath, getSessionMapFilePath, getStorePath, identityExists, isEncryptedPayload, loadIdentity, matchesTrustPolicyRule, normalizeTrustPolicyDoc, previewFromPayload, readCurrentActiveSessionKey, readSessionBindingAlerts, readSessionBindings, removeSessionBinding, saveIdentity, setSessionBinding, shouldEncryptConversationPayload, summarizeTrustPolicyAudit, updateStoredToken, upsertSessionBindingAlert, upsertTrustPolicyRecommendation, writeSessionBindingAlerts, writeSessionBindings };
1190
+ interface OpenClawIngressRuntimeStatus {
1191
+ receive_mode: 'webhook' | 'polling_degraded';
1192
+ reason?: string | null;
1193
+ hooks_url?: string | null;
1194
+ hooks_last_error?: string | null;
1195
+ hooks_last_error_at?: string | null;
1196
+ hooks_last_probe_ok_at?: string | null;
1197
+ fallback_last_injected_at?: string | null;
1198
+ fallback_last_injected_conversation_id?: string | null;
1199
+ active_work_session?: string | null;
1200
+ sessions_send_available?: boolean;
1201
+ hooks_fix_hint?: string | null;
1202
+ status_updated_at?: string | null;
1203
+ }
1204
+ declare function getIngressRuntimeStatusFilePath(): string;
1205
+ declare function readIngressRuntimeStatus(filePath?: string): OpenClawIngressRuntimeStatus | null;
1206
+
1207
+ export { A2AAdapter, type A2AAdapterOptions, type A2ATaskResult, type AgentEncryptionCard, type AgentProfile, type CapabilityCard, type CapabilityCardItem, type CapabilityContactMode, type ClientOptions, type Contact, type ContactCardShare, ContactManager, type ContactPolicyAction, type ContactPolicyDecision, type ConversationEntry, type ConversationListResponse, type DirectoryBrowseResponse, type DirectorySelfResponse, type EncryptedPayloadWrapper, type EncryptionIdentityFields, type EncryptionPrivateKeyJwk, type EncryptionPublicKeyJwk, type FeedByDidResponse, type FeedPost, type FeedPublicResponse, type FetchResponse, HistoryManager, HttpTransport, LocalStore, type OpenClawIngressRuntimeStatus, PingAgentClient, type PublicAgentProfile, type PublicLinkState, type RecommendationSummary, type ReplyTarget, type RuntimeMode, SESSION_SUMMARY_FIELDS, type SendResponse, type SessionBindingAlert, type SessionBindingEntry, SessionManager, type SessionMessageInput, type SessionState, type SessionSummary, type SessionSummaryFieldKey, SessionSummaryManager, type SessionSummaryUpsert, type StoredMessage, type StoredTrustRecommendation, type SubscriptionResponse, type SubscriptionUsage, type SyncTrustRecommendationsInput, type TaskHandoff, TaskHandoffManager, type TaskHandoffPayload, type TaskHandoffUpsert, type TaskPolicyAction, type TaskPolicyDecision, type TaskResult, type TaskShareEntry, type TaskThread, TaskThreadManager, type TaskThreadStatus, type TaskThreadUpsert, type TransportOptions, type TrustPolicyAuditEvent, type TrustPolicyAuditEventType, type TrustPolicyAuditInput, TrustPolicyAuditManager, type TrustPolicyAuditSummary, type TrustPolicyContext, type TrustPolicyDoc, type TrustPolicyLearningSummary, type TrustPolicyRecommendation, TrustRecommendationManager, type TrustRecommendationStatus, type TrustState, type UpdateProfileInput, WsSubscription, type WsSubscriptionOptions, buildSessionKey, buildSessionSummaryHandoffText, buildTrustPolicyRecommendations, capabilityCardToLegacyCapabilities, clearSessionBindingAlert, decideContactPolicy, decideTaskPolicy, decryptPayloadForIdentity, defaultTrustPolicyDoc, encryptPayloadForRecipients, ensureIdentityEncryptionKeys, ensureTokenValid, formatCapabilityCardSummary, generateIdentity, getActiveSessionFilePath, getIdentityPath, getIngressRuntimeStatusFilePath, getProfile, getRootDir, getSessionBindingAlertsFilePath, getSessionMapFilePath, getStorePath, getTrustRecommendationActionLabel, identityExists, isEncryptedPayload, loadIdentity, matchesTrustPolicyRule, normalizeCapabilityCard, normalizeTrustPolicyDoc, previewFromPayload, readCurrentActiveSessionKey, readIngressRuntimeStatus, readSessionBindingAlerts, readSessionBindings, removeSessionBinding, saveIdentity, setSessionBinding, shouldEncryptConversationPayload, summarizeTrustPolicyAudit, updateStoredToken, upsertSessionBindingAlert, upsertTrustPolicyRecommendation, writeSessionBindingAlerts, writeSessionBindings };
package/dist/index.js CHANGED
@@ -5,13 +5,18 @@ import {
5
5
  HttpTransport,
6
6
  LocalStore,
7
7
  PingAgentClient,
8
+ SESSION_SUMMARY_FIELDS,
8
9
  SessionManager,
10
+ SessionSummaryManager,
11
+ TaskHandoffManager,
9
12
  TaskThreadManager,
10
13
  TrustPolicyAuditManager,
11
14
  TrustRecommendationManager,
12
15
  WsSubscription,
13
16
  buildSessionKey,
17
+ buildSessionSummaryHandoffText,
14
18
  buildTrustPolicyRecommendations,
19
+ capabilityCardToLegacyCapabilities,
15
20
  clearSessionBindingAlert,
16
21
  decideContactPolicy,
17
22
  decideTaskPolicy,
@@ -20,21 +25,26 @@ import {
20
25
  encryptPayloadForRecipients,
21
26
  ensureIdentityEncryptionKeys,
22
27
  ensureTokenValid,
28
+ formatCapabilityCardSummary,
23
29
  generateIdentity,
24
30
  getActiveSessionFilePath,
25
31
  getIdentityPath,
32
+ getIngressRuntimeStatusFilePath,
26
33
  getProfile,
27
34
  getRootDir,
28
35
  getSessionBindingAlertsFilePath,
29
36
  getSessionMapFilePath,
30
37
  getStorePath,
38
+ getTrustRecommendationActionLabel,
31
39
  identityExists,
32
40
  isEncryptedPayload,
33
41
  loadIdentity,
34
42
  matchesTrustPolicyRule,
43
+ normalizeCapabilityCard,
35
44
  normalizeTrustPolicyDoc,
36
45
  previewFromPayload,
37
46
  readCurrentActiveSessionKey,
47
+ readIngressRuntimeStatus,
38
48
  readSessionBindingAlerts,
39
49
  readSessionBindings,
40
50
  removeSessionBinding,
@@ -47,7 +57,7 @@ import {
47
57
  upsertTrustPolicyRecommendation,
48
58
  writeSessionBindingAlerts,
49
59
  writeSessionBindings
50
- } from "./chunk-2Y6YRKTO.js";
60
+ } from "./chunk-BLHMTUID.js";
51
61
  export {
52
62
  A2AAdapter,
53
63
  ContactManager,
@@ -55,13 +65,18 @@ export {
55
65
  HttpTransport,
56
66
  LocalStore,
57
67
  PingAgentClient,
68
+ SESSION_SUMMARY_FIELDS,
58
69
  SessionManager,
70
+ SessionSummaryManager,
71
+ TaskHandoffManager,
59
72
  TaskThreadManager,
60
73
  TrustPolicyAuditManager,
61
74
  TrustRecommendationManager,
62
75
  WsSubscription,
63
76
  buildSessionKey,
77
+ buildSessionSummaryHandoffText,
64
78
  buildTrustPolicyRecommendations,
79
+ capabilityCardToLegacyCapabilities,
65
80
  clearSessionBindingAlert,
66
81
  decideContactPolicy,
67
82
  decideTaskPolicy,
@@ -70,21 +85,26 @@ export {
70
85
  encryptPayloadForRecipients,
71
86
  ensureIdentityEncryptionKeys,
72
87
  ensureTokenValid,
88
+ formatCapabilityCardSummary,
73
89
  generateIdentity,
74
90
  getActiveSessionFilePath,
75
91
  getIdentityPath,
92
+ getIngressRuntimeStatusFilePath,
76
93
  getProfile,
77
94
  getRootDir,
78
95
  getSessionBindingAlertsFilePath,
79
96
  getSessionMapFilePath,
80
97
  getStorePath,
98
+ getTrustRecommendationActionLabel,
81
99
  identityExists,
82
100
  isEncryptedPayload,
83
101
  loadIdentity,
84
102
  matchesTrustPolicyRule,
103
+ normalizeCapabilityCard,
85
104
  normalizeTrustPolicyDoc,
86
105
  previewFromPayload,
87
106
  readCurrentActiveSessionKey,
107
+ readIngressRuntimeStatus,
88
108
  readSessionBindingAlerts,
89
109
  readSessionBindings,
90
110
  removeSessionBinding,