@elizaos/plugin-health 2.0.0-beta.1 → 2.0.3-beta.3
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/LICENSE +21 -0
- package/README.md +33 -27
- package/assets/hero.svg +67 -0
- package/package.json +69 -4
- package/dist/actions/index.d.ts +0 -20
- package/dist/actions/index.d.ts.map +0 -1
- package/dist/actions/index.js +0 -5
- package/dist/actions/index.js.map +0 -1
- package/dist/anchors/index.d.ts +0 -19
- package/dist/anchors/index.d.ts.map +0 -1
- package/dist/anchors/index.js +0 -9
- package/dist/anchors/index.js.map +0 -1
- package/dist/connectors/contract-stubs.d.ts +0 -112
- package/dist/connectors/contract-stubs.d.ts.map +0 -1
- package/dist/connectors/contract-stubs.js +0 -1
- package/dist/connectors/contract-stubs.js.map +0 -1
- package/dist/connectors/index.d.ts +0 -28
- package/dist/connectors/index.d.ts.map +0 -1
- package/dist/connectors/index.js +0 -202
- package/dist/connectors/index.js.map +0 -1
- package/dist/contracts/circadian-default.d.ts +0 -15
- package/dist/contracts/circadian-default.d.ts.map +0 -1
- package/dist/contracts/circadian-default.js +0 -30
- package/dist/contracts/circadian-default.js.map +0 -1
- package/dist/contracts/circadian.d.ts +0 -92
- package/dist/contracts/circadian.d.ts.map +0 -1
- package/dist/contracts/circadian.js +0 -14
- package/dist/contracts/circadian.js.map +0 -1
- package/dist/contracts/health.d.ts +0 -9
- package/dist/contracts/health.d.ts.map +0 -1
- package/dist/contracts/health.js +0 -21
- package/dist/contracts/health.js.map +0 -1
- package/dist/contracts/lifeops-connector-degradation.d.ts +0 -9
- package/dist/contracts/lifeops-connector-degradation.d.ts.map +0 -1
- package/dist/contracts/lifeops-connector-degradation.js +0 -17
- package/dist/contracts/lifeops-connector-degradation.js.map +0 -1
- package/dist/contracts/lifeops.d.ts +0 -3123
- package/dist/contracts/lifeops.d.ts.map +0 -1
- package/dist/contracts/lifeops.js +0 -635
- package/dist/contracts/lifeops.js.map +0 -1
- package/dist/contracts/permissions.d.ts +0 -39
- package/dist/contracts/permissions.d.ts.map +0 -1
- package/dist/contracts/permissions.js +0 -1
- package/dist/contracts/permissions.js.map +0 -1
- package/dist/default-packs/bedtime.d.ts +0 -14
- package/dist/default-packs/bedtime.d.ts.map +0 -1
- package/dist/default-packs/bedtime.js +0 -48
- package/dist/default-packs/bedtime.js.map +0 -1
- package/dist/default-packs/contract-stubs.d.ts +0 -161
- package/dist/default-packs/contract-stubs.d.ts.map +0 -1
- package/dist/default-packs/contract-stubs.js +0 -1
- package/dist/default-packs/contract-stubs.js.map +0 -1
- package/dist/default-packs/index.d.ts +0 -18
- package/dist/default-packs/index.d.ts.map +0 -1
- package/dist/default-packs/index.js +0 -39
- package/dist/default-packs/index.js.map +0 -1
- package/dist/default-packs/sleep-recap.d.ts +0 -14
- package/dist/default-packs/sleep-recap.d.ts.map +0 -1
- package/dist/default-packs/sleep-recap.js +0 -51
- package/dist/default-packs/sleep-recap.js.map +0 -1
- package/dist/default-packs/wake-up.d.ts +0 -14
- package/dist/default-packs/wake-up.d.ts.map +0 -1
- package/dist/default-packs/wake-up.js +0 -61
- package/dist/default-packs/wake-up.js.map +0 -1
- package/dist/health-bridge/health-bridge.d.ts +0 -57
- package/dist/health-bridge/health-bridge.d.ts.map +0 -1
- package/dist/health-bridge/health-bridge.js +0 -558
- package/dist/health-bridge/health-bridge.js.map +0 -1
- package/dist/health-bridge/health-connectors.d.ts +0 -23
- package/dist/health-bridge/health-connectors.d.ts.map +0 -1
- package/dist/health-bridge/health-connectors.js +0 -1018
- package/dist/health-bridge/health-connectors.js.map +0 -1
- package/dist/health-bridge/health-oauth.d.ts +0 -62
- package/dist/health-bridge/health-oauth.d.ts.map +0 -1
- package/dist/health-bridge/health-oauth.js +0 -432
- package/dist/health-bridge/health-oauth.js.map +0 -1
- package/dist/health-bridge/health-provider-registry.d.ts +0 -89
- package/dist/health-bridge/health-provider-registry.d.ts.map +0 -1
- package/dist/health-bridge/health-provider-registry.js +0 -141
- package/dist/health-bridge/health-provider-registry.js.map +0 -1
- package/dist/health-bridge/health-records.d.ts +0 -14
- package/dist/health-bridge/health-records.d.ts.map +0 -1
- package/dist/health-bridge/health-records.js +0 -45
- package/dist/health-bridge/health-records.js.map +0 -1
- package/dist/health-bridge/index.d.ts +0 -22
- package/dist/health-bridge/index.d.ts.map +0 -1
- package/dist/health-bridge/index.js +0 -7
- package/dist/health-bridge/index.js.map +0 -1
- package/dist/health-bridge/service-normalize-health.d.ts +0 -3
- package/dist/health-bridge/service-normalize-health.d.ts.map +0 -1
- package/dist/health-bridge/service-normalize-health.js +0 -96
- package/dist/health-bridge/service-normalize-health.js.map +0 -1
- package/dist/index.d.ts +0 -41
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -62
- package/dist/index.js.map +0 -1
- package/dist/screen-time/index.d.ts +0 -23
- package/dist/screen-time/index.d.ts.map +0 -1
- package/dist/screen-time/index.js +0 -1
- package/dist/screen-time/index.js.map +0 -1
- package/dist/sleep/awake-probability.d.ts +0 -11
- package/dist/sleep/awake-probability.d.ts.map +0 -1
- package/dist/sleep/awake-probability.js +0 -163
- package/dist/sleep/awake-probability.js.map +0 -1
- package/dist/sleep/circadian-rules.d.ts +0 -45
- package/dist/sleep/circadian-rules.d.ts.map +0 -1
- package/dist/sleep/circadian-rules.js +0 -258
- package/dist/sleep/circadian-rules.js.map +0 -1
- package/dist/sleep/index.d.ts +0 -21
- package/dist/sleep/index.d.ts.map +0 -1
- package/dist/sleep/index.js +0 -11
- package/dist/sleep/index.js.map +0 -1
- package/dist/sleep/sleep-cycle-dispatch.d.ts +0 -75
- package/dist/sleep/sleep-cycle-dispatch.d.ts.map +0 -1
- package/dist/sleep/sleep-cycle-dispatch.js +0 -102
- package/dist/sleep/sleep-cycle-dispatch.js.map +0 -1
- package/dist/sleep/sleep-cycle.d.ts +0 -38
- package/dist/sleep/sleep-cycle.d.ts.map +0 -1
- package/dist/sleep/sleep-cycle.js +0 -418
- package/dist/sleep/sleep-cycle.js.map +0 -1
- package/dist/sleep/sleep-episode-store.d.ts +0 -25
- package/dist/sleep/sleep-episode-store.d.ts.map +0 -1
- package/dist/sleep/sleep-episode-store.js +0 -69
- package/dist/sleep/sleep-episode-store.js.map +0 -1
- package/dist/sleep/sleep-episode-types.d.ts +0 -38
- package/dist/sleep/sleep-episode-types.d.ts.map +0 -1
- package/dist/sleep/sleep-episode-types.js +0 -14
- package/dist/sleep/sleep-episode-types.js.map +0 -1
- package/dist/sleep/sleep-recap.d.ts +0 -19
- package/dist/sleep/sleep-recap.d.ts.map +0 -1
- package/dist/sleep/sleep-recap.js +0 -1
- package/dist/sleep/sleep-recap.js.map +0 -1
- package/dist/sleep/sleep-regularity.d.ts +0 -19
- package/dist/sleep/sleep-regularity.d.ts.map +0 -1
- package/dist/sleep/sleep-regularity.js +0 -242
- package/dist/sleep/sleep-regularity.js.map +0 -1
- package/dist/sleep/sleep-wake-events.d.ts +0 -58
- package/dist/sleep/sleep-wake-events.d.ts.map +0 -1
- package/dist/sleep/sleep-wake-events.js +0 -135
- package/dist/sleep/sleep-wake-events.js.map +0 -1
- package/dist/sleep/source-reliability.d.ts +0 -38
- package/dist/sleep/source-reliability.d.ts.map +0 -1
- package/dist/sleep/source-reliability.js +0 -62
- package/dist/sleep/source-reliability.js.map +0 -1
- package/dist/util/index.d.ts +0 -10
- package/dist/util/index.d.ts.map +0 -1
- package/dist/util/index.js +0 -3
- package/dist/util/index.js.map +0 -1
- package/dist/util/normalize.d.ts +0 -22
- package/dist/util/normalize.d.ts.map +0 -1
- package/dist/util/normalize.js +0 -62
- package/dist/util/normalize.js.map +0 -1
- package/dist/util/time-util.d.ts +0 -10
- package/dist/util/time-util.d.ts.map +0 -1
- package/dist/util/time-util.js +0 -14
- package/dist/util/time-util.js.map +0 -1
- package/dist/util/time.d.ts +0 -17
- package/dist/util/time.d.ts.map +0 -1
- package/dist/util/time.js +0 -152
- package/dist/util/time.js.map +0 -1
- package/dist/util/token-encryption.d.ts +0 -42
- package/dist/util/token-encryption.d.ts.map +0 -1
- package/dist/util/token-encryption.js +0 -96
- package/dist/util/token-encryption.js.map +0 -1
|
@@ -1,3123 +0,0 @@
|
|
|
1
|
-
import type { LifeOpsConnectorDegradation } from "./lifeops-connector-degradation.js";
|
|
2
|
-
export type { LifeOpsConnectorDegradation, LifeOpsConnectorDegradationAxis, } from "./lifeops-connector-degradation.js";
|
|
3
|
-
export { LIFEOPS_CONNECTOR_DEGRADATION_AXES } from "./lifeops-connector-degradation.js";
|
|
4
|
-
export declare const LIFEOPS_TIME_WINDOW_NAMES: readonly ["morning", "afternoon", "evening", "night", "custom"];
|
|
5
|
-
export type LifeOpsTimeWindowName = (typeof LIFEOPS_TIME_WINDOW_NAMES)[number];
|
|
6
|
-
export declare const LIFEOPS_DEFINITION_KINDS: readonly ["task", "habit", "routine"];
|
|
7
|
-
export type LifeOpsDefinitionKind = (typeof LIFEOPS_DEFINITION_KINDS)[number];
|
|
8
|
-
export declare const LIFEOPS_DEFINITION_STATUSES: readonly ["active", "paused", "archived"];
|
|
9
|
-
export type LifeOpsDefinitionStatus = (typeof LIFEOPS_DEFINITION_STATUSES)[number];
|
|
10
|
-
export declare const LIFEOPS_OCCURRENCE_STATES: readonly ["pending", "visible", "snoozed", "completed", "skipped", "expired", "muted"];
|
|
11
|
-
export type LifeOpsOccurrenceState = (typeof LIFEOPS_OCCURRENCE_STATES)[number];
|
|
12
|
-
export declare const LIFEOPS_GOAL_STATUSES: readonly ["active", "paused", "archived", "satisfied"];
|
|
13
|
-
export type LifeOpsGoalStatus = (typeof LIFEOPS_GOAL_STATUSES)[number];
|
|
14
|
-
export declare const LIFEOPS_REVIEW_STATES: readonly ["idle", "needs_attention", "on_track", "at_risk"];
|
|
15
|
-
export type LifeOpsGoalReviewState = (typeof LIFEOPS_REVIEW_STATES)[number];
|
|
16
|
-
export declare const LIFEOPS_WORKFLOW_STATUSES: readonly ["active", "paused", "archived"];
|
|
17
|
-
export type LifeOpsWorkflowStatus = (typeof LIFEOPS_WORKFLOW_STATUSES)[number];
|
|
18
|
-
export declare const LIFEOPS_WORKFLOW_RUN_STATUSES: readonly ["queued", "running", "success", "failed", "cancelled"];
|
|
19
|
-
export type LifeOpsWorkflowRunStatus = (typeof LIFEOPS_WORKFLOW_RUN_STATUSES)[number];
|
|
20
|
-
export declare const LIFEOPS_WORKFLOW_TRIGGER_TYPES: readonly ["manual", "schedule", "event"];
|
|
21
|
-
export type LifeOpsWorkflowTriggerType = (typeof LIFEOPS_WORKFLOW_TRIGGER_TYPES)[number];
|
|
22
|
-
/**
|
|
23
|
-
* Registry of event kinds that can fire a LifeOps workflow.
|
|
24
|
-
*
|
|
25
|
-
* Each entry is a stable identifier ("namespace.subject.verb") emitted by a
|
|
26
|
-
* detector inside the engine. Adding a new entry means adding a detector that
|
|
27
|
-
* publishes matching occurrences to `runDueEventWorkflows`, and — optionally —
|
|
28
|
-
* a filter shape under {@link LifeOpsEventFilters}.
|
|
29
|
-
*/
|
|
30
|
-
export declare const LIFEOPS_EVENT_KINDS: readonly ["calendar.event.ended", "gmail.message.received", "gmail.thread.needs_response", "lifeops.sleep.onset_candidate", "lifeops.sleep.detected", "lifeops.sleep.ended", "lifeops.wake.observed", "lifeops.wake.confirmed", "lifeops.nap.detected", "lifeops.bedtime.imminent", "lifeops.regularity.changed"];
|
|
31
|
-
export type LifeOpsEventKind = (typeof LIFEOPS_EVENT_KINDS)[number];
|
|
32
|
-
export interface LifeOpsCalendarEventEndedFilters {
|
|
33
|
-
/** Only fire for events on these calendar ids (e.g. "primary"). */
|
|
34
|
-
calendarIds?: string[];
|
|
35
|
-
/** Only fire when event title matches one of these case-insensitive substrings. */
|
|
36
|
-
titleIncludesAny?: string[];
|
|
37
|
-
/** Only fire when the event lasted at least this many minutes. */
|
|
38
|
-
minDurationMinutes?: number;
|
|
39
|
-
/** Only fire when one attendee email contains one of these substrings. */
|
|
40
|
-
attendeeEmailIncludesAny?: string[];
|
|
41
|
-
}
|
|
42
|
-
export interface LifeOpsGmailEventFilters {
|
|
43
|
-
/** Only fire for these Google connector grant ids. */
|
|
44
|
-
grantIds?: string[];
|
|
45
|
-
/** Only fire when the sender email/display contains one of these substrings. */
|
|
46
|
-
fromIncludesAny?: string[];
|
|
47
|
-
/** Only fire when the subject contains one of these case-insensitive substrings. */
|
|
48
|
-
subjectIncludesAny?: string[];
|
|
49
|
-
/** Only fire when at least one Gmail label id is present. */
|
|
50
|
-
labelIds?: string[];
|
|
51
|
-
/** Only fire when LifeOps classified the message/thread as needing a reply. */
|
|
52
|
-
requiresReplyNeeded?: boolean;
|
|
53
|
-
}
|
|
54
|
-
export interface LifeOpsSleepOnsetCandidateFilters {
|
|
55
|
-
minConfidence?: number;
|
|
56
|
-
}
|
|
57
|
-
export interface LifeOpsSleepDetectedFilters {
|
|
58
|
-
minConfidence?: number;
|
|
59
|
-
}
|
|
60
|
-
export interface LifeOpsSleepEndedFilters {
|
|
61
|
-
minConfidence?: number;
|
|
62
|
-
}
|
|
63
|
-
export interface LifeOpsWakeObservedFilters {
|
|
64
|
-
offsetMinutes?: number;
|
|
65
|
-
minConfidence?: number;
|
|
66
|
-
}
|
|
67
|
-
export interface LifeOpsWakeConfirmedFilters {
|
|
68
|
-
offsetMinutes?: number;
|
|
69
|
-
minConfidence?: number;
|
|
70
|
-
}
|
|
71
|
-
export interface LifeOpsNapDetectedFilters {
|
|
72
|
-
minConfidence?: number;
|
|
73
|
-
maxDurationMinutes?: number;
|
|
74
|
-
}
|
|
75
|
-
export interface LifeOpsBedtimeImminentFilters {
|
|
76
|
-
minutesBefore?: number;
|
|
77
|
-
minConfidence?: number;
|
|
78
|
-
}
|
|
79
|
-
export interface LifeOpsRegularityChangedFilters {
|
|
80
|
-
/** Fires when regularity class transitions into this value. */
|
|
81
|
-
becomes?: LifeOpsRegularityClass;
|
|
82
|
-
}
|
|
83
|
-
export type LifeOpsEventFilters = {
|
|
84
|
-
kind: "calendar.event.ended";
|
|
85
|
-
filters?: LifeOpsCalendarEventEndedFilters;
|
|
86
|
-
} | {
|
|
87
|
-
kind: "gmail.message.received";
|
|
88
|
-
filters?: LifeOpsGmailEventFilters;
|
|
89
|
-
} | {
|
|
90
|
-
kind: "gmail.thread.needs_response";
|
|
91
|
-
filters?: LifeOpsGmailEventFilters;
|
|
92
|
-
} | {
|
|
93
|
-
kind: "lifeops.sleep.onset_candidate";
|
|
94
|
-
filters?: LifeOpsSleepOnsetCandidateFilters;
|
|
95
|
-
} | {
|
|
96
|
-
kind: "lifeops.sleep.detected";
|
|
97
|
-
filters?: LifeOpsSleepDetectedFilters;
|
|
98
|
-
} | {
|
|
99
|
-
kind: "lifeops.sleep.ended";
|
|
100
|
-
filters?: LifeOpsSleepEndedFilters;
|
|
101
|
-
} | {
|
|
102
|
-
kind: "lifeops.wake.observed";
|
|
103
|
-
filters?: LifeOpsWakeObservedFilters;
|
|
104
|
-
} | {
|
|
105
|
-
kind: "lifeops.wake.confirmed";
|
|
106
|
-
filters?: LifeOpsWakeConfirmedFilters;
|
|
107
|
-
} | {
|
|
108
|
-
kind: "lifeops.nap.detected";
|
|
109
|
-
filters?: LifeOpsNapDetectedFilters;
|
|
110
|
-
} | {
|
|
111
|
-
kind: "lifeops.bedtime.imminent";
|
|
112
|
-
filters?: LifeOpsBedtimeImminentFilters;
|
|
113
|
-
} | {
|
|
114
|
-
kind: "lifeops.regularity.changed";
|
|
115
|
-
filters?: LifeOpsRegularityChangedFilters;
|
|
116
|
-
};
|
|
117
|
-
export declare const LIFEOPS_NEGOTIATION_STATES: readonly ["initiated", "proposals_sent", "awaiting_response", "confirmed", "cancelled"];
|
|
118
|
-
export type LifeOpsNegotiationState = (typeof LIFEOPS_NEGOTIATION_STATES)[number];
|
|
119
|
-
export declare const LIFEOPS_PROPOSAL_STATUSES: readonly ["pending", "accepted", "declined", "expired"];
|
|
120
|
-
export type LifeOpsProposalStatus = (typeof LIFEOPS_PROPOSAL_STATUSES)[number];
|
|
121
|
-
export declare const LIFEOPS_PROPOSAL_PROPOSERS: readonly ["agent", "owner", "counterparty"];
|
|
122
|
-
export type LifeOpsProposalProposer = (typeof LIFEOPS_PROPOSAL_PROPOSERS)[number];
|
|
123
|
-
export interface LifeOpsSchedulingNegotiation {
|
|
124
|
-
id: string;
|
|
125
|
-
agentId: string;
|
|
126
|
-
subject: string;
|
|
127
|
-
relationshipId: string | null;
|
|
128
|
-
durationMinutes: number;
|
|
129
|
-
timezone: string;
|
|
130
|
-
state: LifeOpsNegotiationState;
|
|
131
|
-
acceptedProposalId: string | null;
|
|
132
|
-
startedAt: string;
|
|
133
|
-
finalizedAt: string | null;
|
|
134
|
-
metadata: Record<string, unknown>;
|
|
135
|
-
createdAt: string;
|
|
136
|
-
updatedAt: string;
|
|
137
|
-
}
|
|
138
|
-
export interface LifeOpsSchedulingProposal {
|
|
139
|
-
id: string;
|
|
140
|
-
agentId: string;
|
|
141
|
-
negotiationId: string;
|
|
142
|
-
startAt: string;
|
|
143
|
-
endAt: string;
|
|
144
|
-
proposedBy: LifeOpsProposalProposer;
|
|
145
|
-
status: LifeOpsProposalStatus;
|
|
146
|
-
metadata: Record<string, unknown>;
|
|
147
|
-
createdAt: string;
|
|
148
|
-
updatedAt: string;
|
|
149
|
-
}
|
|
150
|
-
export declare const LIFEOPS_CONNECTOR_PROVIDERS: readonly ["google", "x", "telegram", "discord", "twilio", "signal", "whatsapp", "imessage", "strava", "fitbit", "withings", "oura"];
|
|
151
|
-
export type LifeOpsConnectorProvider = (typeof LIFEOPS_CONNECTOR_PROVIDERS)[number];
|
|
152
|
-
export declare const LIFEOPS_CONNECTOR_MODES: readonly ["local", "remote", "cloud_managed"];
|
|
153
|
-
export type LifeOpsConnectorMode = (typeof LIFEOPS_CONNECTOR_MODES)[number];
|
|
154
|
-
export declare const LIFEOPS_CONNECTOR_SIDES: readonly ["owner", "agent"];
|
|
155
|
-
export type LifeOpsConnectorSide = (typeof LIFEOPS_CONNECTOR_SIDES)[number];
|
|
156
|
-
export declare const LIFEOPS_CONNECTOR_EXECUTION_TARGETS: readonly ["local", "cloud"];
|
|
157
|
-
export type LifeOpsConnectorExecutionTarget = (typeof LIFEOPS_CONNECTOR_EXECUTION_TARGETS)[number];
|
|
158
|
-
export declare const LIFEOPS_CONNECTOR_SOURCES_OF_TRUTH: readonly ["local_storage", "cloud_connection", "connector_account"];
|
|
159
|
-
export type LifeOpsConnectorSourceOfTruth = (typeof LIFEOPS_CONNECTOR_SOURCES_OF_TRUTH)[number];
|
|
160
|
-
export declare const LIFEOPS_GOOGLE_CAPABILITIES: readonly ["google.basic_identity", "google.calendar.read", "google.calendar.write", "google.gmail.triage", "google.gmail.send", "google.gmail.manage"];
|
|
161
|
-
export type LifeOpsGoogleCapability = (typeof LIFEOPS_GOOGLE_CAPABILITIES)[number];
|
|
162
|
-
export declare const LIFEOPS_X_CAPABILITIES: readonly ["x.read", "x.write", "x.dm.read", "x.dm.write"];
|
|
163
|
-
export type LifeOpsXCapability = (typeof LIFEOPS_X_CAPABILITIES)[number];
|
|
164
|
-
export declare const LIFEOPS_HEALTH_CONNECTOR_PROVIDERS: readonly ["strava", "fitbit", "withings", "oura"];
|
|
165
|
-
export type LifeOpsHealthConnectorProvider = (typeof LIFEOPS_HEALTH_CONNECTOR_PROVIDERS)[number];
|
|
166
|
-
export declare const LIFEOPS_HEALTH_CONNECTOR_CAPABILITIES: readonly ["health.activity.read", "health.workouts.read", "health.sleep.read", "health.readiness.read", "health.body.read", "health.vitals.read"];
|
|
167
|
-
export type LifeOpsHealthConnectorCapability = (typeof LIFEOPS_HEALTH_CONNECTOR_CAPABILITIES)[number];
|
|
168
|
-
export declare const LIFEOPS_HEALTH_METRICS: readonly ["steps", "active_minutes", "sleep_hours", "sleep_score", "readiness_score", "heart_rate", "resting_heart_rate", "heart_rate_variability", "calories", "distance_meters", "weight_kg", "body_fat_percent", "blood_pressure_systolic", "blood_pressure_diastolic", "blood_oxygen_percent", "respiratory_rate", "body_temperature_celsius"];
|
|
169
|
-
export type LifeOpsHealthMetric = (typeof LIFEOPS_HEALTH_METRICS)[number];
|
|
170
|
-
export declare const LIFEOPS_SIGNAL_CAPABILITIES: readonly ["signal.read", "signal.send"];
|
|
171
|
-
export type LifeOpsSignalCapability = (typeof LIFEOPS_SIGNAL_CAPABILITIES)[number];
|
|
172
|
-
export declare const LIFEOPS_DISCORD_CAPABILITIES: readonly ["discord.read", "discord.send"];
|
|
173
|
-
export type LifeOpsDiscordCapability = (typeof LIFEOPS_DISCORD_CAPABILITIES)[number];
|
|
174
|
-
export declare const LIFEOPS_TELEGRAM_CAPABILITIES: readonly ["telegram.read", "telegram.send"];
|
|
175
|
-
export type LifeOpsTelegramCapability = (typeof LIFEOPS_TELEGRAM_CAPABILITIES)[number];
|
|
176
|
-
export declare function capabilitiesForSide<T extends string>(allCapabilities: readonly T[], side: LifeOpsConnectorSide): T[];
|
|
177
|
-
export declare const LIFEOPS_REMINDER_CHANNELS: readonly ["in_app", "sms", "voice", "telegram", "discord", "signal", "whatsapp", "imessage", "email", "push"];
|
|
178
|
-
export type LifeOpsReminderChannel = (typeof LIFEOPS_REMINDER_CHANNELS)[number];
|
|
179
|
-
export declare const LIFEOPS_CHANNEL_TYPES: readonly ["in_app", "sms", "voice", "telegram", "discord", "signal", "whatsapp", "imessage", "x", "browser", "email", "push"];
|
|
180
|
-
export type LifeOpsChannelType = (typeof LIFEOPS_CHANNEL_TYPES)[number];
|
|
181
|
-
export declare const LIFEOPS_PRIVACY_CLASSES: readonly ["private", "shared", "public"];
|
|
182
|
-
export type LifeOpsPrivacyClass = (typeof LIFEOPS_PRIVACY_CLASSES)[number];
|
|
183
|
-
export declare const LIFEOPS_DOMAINS: readonly ["user_lifeops", "agent_ops"];
|
|
184
|
-
export type LifeOpsDomain = (typeof LIFEOPS_DOMAINS)[number];
|
|
185
|
-
export declare const LIFEOPS_SUBJECT_TYPES: readonly ["owner", "agent"];
|
|
186
|
-
export type LifeOpsSubjectType = (typeof LIFEOPS_SUBJECT_TYPES)[number];
|
|
187
|
-
export declare const LIFEOPS_VISIBILITY_SCOPES: readonly ["owner_only", "agent_and_admin", "owner_agent_admin"];
|
|
188
|
-
export type LifeOpsVisibilityScope = (typeof LIFEOPS_VISIBILITY_SCOPES)[number];
|
|
189
|
-
export declare const LIFEOPS_CONTEXT_POLICIES: readonly ["never", "explicit_only", "sidebar_only", "allowed_in_private_chat"];
|
|
190
|
-
export type LifeOpsContextPolicy = (typeof LIFEOPS_CONTEXT_POLICIES)[number];
|
|
191
|
-
export declare const LIFEOPS_REMINDER_URGENCY_LEVELS: readonly ["low", "medium", "high", "critical"];
|
|
192
|
-
export type LifeOpsReminderUrgency = (typeof LIFEOPS_REMINDER_URGENCY_LEVELS)[number];
|
|
193
|
-
export declare const LIFEOPS_REMINDER_INTENSITIES: readonly ["minimal", "normal", "persistent", "high_priority_only"];
|
|
194
|
-
export type LifeOpsReminderIntensity = (typeof LIFEOPS_REMINDER_INTENSITIES)[number];
|
|
195
|
-
export declare const LIFEOPS_REMINDER_INTENSITY_COMPATIBILITY_VALUES: readonly ["paused", "low", "high"];
|
|
196
|
-
export type LifeOpsReminderIntensityCompatibility = (typeof LIFEOPS_REMINDER_INTENSITY_COMPATIBILITY_VALUES)[number];
|
|
197
|
-
export type LifeOpsReminderIntensityInput = LifeOpsReminderIntensity | LifeOpsReminderIntensityCompatibility;
|
|
198
|
-
export declare const LIFEOPS_REMINDER_PREFERENCE_SOURCES: readonly ["default", "global_policy", "definition_metadata"];
|
|
199
|
-
export type LifeOpsReminderPreferenceSource = (typeof LIFEOPS_REMINDER_PREFERENCE_SOURCES)[number];
|
|
200
|
-
export declare const LIFEOPS_OWNER_TYPES: readonly ["definition", "occurrence", "goal", "workflow", "calendar_event", "gmail_message", "connector", "channel_policy", "browser_session", "circadian_state"];
|
|
201
|
-
export type LifeOpsOwnerType = (typeof LIFEOPS_OWNER_TYPES)[number];
|
|
202
|
-
export declare const LIFEOPS_AUDIT_EVENT_TYPES: readonly ["definition_created", "definition_updated", "definition_deleted", "occurrence_generated", "occurrence_completed", "occurrence_skipped", "occurrence_snoozed", "goal_created", "goal_updated", "goal_deleted", "goal_reviewed", "calendar_event_created", "calendar_event_updated", "calendar_event_deleted", "gmail_triage_synced", "gmail_reply_drafted", "gmail_reply_sent", "gmail_message_sent", "reminder_due", "reminder_delivered", "reminder_blocked", "reminder_escalation_started", "reminder_escalation_resolved", "workflow_created", "workflow_updated", "workflow_run", "connector_grant_updated", "channel_policy_updated", "browser_session_created", "browser_session_updated", "x_post_sent", "seeding_offered", "circadian_event_emitted", "manual_override_accepted"];
|
|
203
|
-
export type LifeOpsAuditEventType = (typeof LIFEOPS_AUDIT_EVENT_TYPES)[number];
|
|
204
|
-
export declare const LIFEOPS_ACTORS: readonly ["agent", "user", "workflow", "connector"];
|
|
205
|
-
export type LifeOpsActor = (typeof LIFEOPS_ACTORS)[number];
|
|
206
|
-
export interface LifeOpsOwnership {
|
|
207
|
-
domain: LifeOpsDomain;
|
|
208
|
-
subjectType: LifeOpsSubjectType;
|
|
209
|
-
subjectId: string;
|
|
210
|
-
visibilityScope: LifeOpsVisibilityScope;
|
|
211
|
-
contextPolicy: LifeOpsContextPolicy;
|
|
212
|
-
}
|
|
213
|
-
export interface LifeOpsOwnershipInput {
|
|
214
|
-
domain?: LifeOpsDomain;
|
|
215
|
-
subjectType?: LifeOpsSubjectType;
|
|
216
|
-
subjectId?: string;
|
|
217
|
-
visibilityScope?: LifeOpsVisibilityScope;
|
|
218
|
-
contextPolicy?: LifeOpsContextPolicy;
|
|
219
|
-
}
|
|
220
|
-
export interface LifeOpsTimeWindowDefinition {
|
|
221
|
-
name: LifeOpsTimeWindowName;
|
|
222
|
-
label: string;
|
|
223
|
-
startMinute: number;
|
|
224
|
-
endMinute: number;
|
|
225
|
-
}
|
|
226
|
-
export interface LifeOpsWindowPolicy {
|
|
227
|
-
timezone: string;
|
|
228
|
-
windows: LifeOpsTimeWindowDefinition[];
|
|
229
|
-
}
|
|
230
|
-
export interface LifeOpsDailySlot {
|
|
231
|
-
key: string;
|
|
232
|
-
label: string;
|
|
233
|
-
minuteOfDay: number;
|
|
234
|
-
durationMinutes: number;
|
|
235
|
-
}
|
|
236
|
-
export interface LifeOpsIntervalCadence {
|
|
237
|
-
kind: "interval";
|
|
238
|
-
everyMinutes: number;
|
|
239
|
-
windows: LifeOpsTimeWindowName[];
|
|
240
|
-
startMinuteOfDay?: number;
|
|
241
|
-
maxOccurrencesPerDay?: number;
|
|
242
|
-
durationMinutes?: number;
|
|
243
|
-
visibilityLeadMinutes?: number;
|
|
244
|
-
visibilityLagMinutes?: number;
|
|
245
|
-
}
|
|
246
|
-
export declare const LIFEOPS_WEBSITE_ACCESS_UNLOCK_MODES: readonly ["fixed_duration", "until_manual_lock", "until_callback"];
|
|
247
|
-
export type LifeOpsWebsiteAccessUnlockMode = (typeof LIFEOPS_WEBSITE_ACCESS_UNLOCK_MODES)[number];
|
|
248
|
-
export interface LifeOpsWebsiteAccessPolicy {
|
|
249
|
-
groupKey: string;
|
|
250
|
-
websites: string[];
|
|
251
|
-
unlockMode: LifeOpsWebsiteAccessUnlockMode;
|
|
252
|
-
unlockDurationMinutes?: number;
|
|
253
|
-
callbackKey?: string | null;
|
|
254
|
-
reason: string;
|
|
255
|
-
}
|
|
256
|
-
export type LifeOpsCadence = {
|
|
257
|
-
kind: "once";
|
|
258
|
-
dueAt: string;
|
|
259
|
-
visibilityLeadMinutes?: number;
|
|
260
|
-
visibilityLagMinutes?: number;
|
|
261
|
-
} | {
|
|
262
|
-
kind: "daily";
|
|
263
|
-
windows: LifeOpsTimeWindowName[];
|
|
264
|
-
visibilityLeadMinutes?: number;
|
|
265
|
-
visibilityLagMinutes?: number;
|
|
266
|
-
} | {
|
|
267
|
-
kind: "times_per_day";
|
|
268
|
-
slots: LifeOpsDailySlot[];
|
|
269
|
-
visibilityLeadMinutes?: number;
|
|
270
|
-
visibilityLagMinutes?: number;
|
|
271
|
-
} | LifeOpsIntervalCadence | {
|
|
272
|
-
kind: "weekly";
|
|
273
|
-
weekdays: number[];
|
|
274
|
-
windows: LifeOpsTimeWindowName[];
|
|
275
|
-
visibilityLeadMinutes?: number;
|
|
276
|
-
visibilityLagMinutes?: number;
|
|
277
|
-
};
|
|
278
|
-
export type LifeOpsProgressionRule = {
|
|
279
|
-
kind: "none";
|
|
280
|
-
} | {
|
|
281
|
-
kind: "linear_increment";
|
|
282
|
-
metric: string;
|
|
283
|
-
start: number;
|
|
284
|
-
step: number;
|
|
285
|
-
unit?: string;
|
|
286
|
-
};
|
|
287
|
-
export interface LifeOpsReminderStep {
|
|
288
|
-
channel: LifeOpsReminderChannel;
|
|
289
|
-
offsetMinutes: number;
|
|
290
|
-
label: string;
|
|
291
|
-
}
|
|
292
|
-
export interface LifeOpsQuietHoursPolicy {
|
|
293
|
-
timezone: string;
|
|
294
|
-
startMinute: number;
|
|
295
|
-
endMinute: number;
|
|
296
|
-
channels?: LifeOpsReminderChannel[];
|
|
297
|
-
}
|
|
298
|
-
export interface LifeOpsReminderPlan {
|
|
299
|
-
id: string;
|
|
300
|
-
agentId: string;
|
|
301
|
-
ownerType: LifeOpsOwnerType;
|
|
302
|
-
ownerId: string;
|
|
303
|
-
steps: LifeOpsReminderStep[];
|
|
304
|
-
mutePolicy: Record<string, unknown>;
|
|
305
|
-
quietHours: LifeOpsQuietHoursPolicy | Record<string, unknown>;
|
|
306
|
-
createdAt: string;
|
|
307
|
-
updatedAt: string;
|
|
308
|
-
}
|
|
309
|
-
export interface LifeOpsTaskDefinition {
|
|
310
|
-
id: string;
|
|
311
|
-
agentId: string;
|
|
312
|
-
domain: LifeOpsDomain;
|
|
313
|
-
subjectType: LifeOpsSubjectType;
|
|
314
|
-
subjectId: string;
|
|
315
|
-
visibilityScope: LifeOpsVisibilityScope;
|
|
316
|
-
contextPolicy: LifeOpsContextPolicy;
|
|
317
|
-
kind: LifeOpsDefinitionKind;
|
|
318
|
-
title: string;
|
|
319
|
-
description: string;
|
|
320
|
-
originalIntent: string;
|
|
321
|
-
timezone: string;
|
|
322
|
-
status: LifeOpsDefinitionStatus;
|
|
323
|
-
priority: number;
|
|
324
|
-
cadence: LifeOpsCadence;
|
|
325
|
-
windowPolicy: LifeOpsWindowPolicy;
|
|
326
|
-
progressionRule: LifeOpsProgressionRule;
|
|
327
|
-
websiteAccess: LifeOpsWebsiteAccessPolicy | null;
|
|
328
|
-
reminderPlanId: string | null;
|
|
329
|
-
goalId: string | null;
|
|
330
|
-
source: string;
|
|
331
|
-
metadata: Record<string, unknown>;
|
|
332
|
-
createdAt: string;
|
|
333
|
-
updatedAt: string;
|
|
334
|
-
}
|
|
335
|
-
export interface LifeOpsOccurrence {
|
|
336
|
-
id: string;
|
|
337
|
-
agentId: string;
|
|
338
|
-
domain: LifeOpsDomain;
|
|
339
|
-
subjectType: LifeOpsSubjectType;
|
|
340
|
-
subjectId: string;
|
|
341
|
-
visibilityScope: LifeOpsVisibilityScope;
|
|
342
|
-
contextPolicy: LifeOpsContextPolicy;
|
|
343
|
-
definitionId: string;
|
|
344
|
-
occurrenceKey: string;
|
|
345
|
-
scheduledAt: string | null;
|
|
346
|
-
dueAt: string | null;
|
|
347
|
-
relevanceStartAt: string;
|
|
348
|
-
relevanceEndAt: string;
|
|
349
|
-
windowName: string | null;
|
|
350
|
-
state: LifeOpsOccurrenceState;
|
|
351
|
-
snoozedUntil: string | null;
|
|
352
|
-
completionPayload: Record<string, unknown> | null;
|
|
353
|
-
derivedTarget: Record<string, unknown> | null;
|
|
354
|
-
metadata: Record<string, unknown>;
|
|
355
|
-
createdAt: string;
|
|
356
|
-
updatedAt: string;
|
|
357
|
-
}
|
|
358
|
-
export interface LifeOpsOccurrenceView extends LifeOpsOccurrence {
|
|
359
|
-
definitionKind: LifeOpsDefinitionKind;
|
|
360
|
-
definitionStatus: LifeOpsDefinitionStatus;
|
|
361
|
-
cadence: LifeOpsCadence;
|
|
362
|
-
title: string;
|
|
363
|
-
description: string;
|
|
364
|
-
priority: number;
|
|
365
|
-
timezone: string;
|
|
366
|
-
source: string;
|
|
367
|
-
goalId: string | null;
|
|
368
|
-
}
|
|
369
|
-
export interface LifeOpsGoalDefinition {
|
|
370
|
-
id: string;
|
|
371
|
-
agentId: string;
|
|
372
|
-
domain: LifeOpsDomain;
|
|
373
|
-
subjectType: LifeOpsSubjectType;
|
|
374
|
-
subjectId: string;
|
|
375
|
-
visibilityScope: LifeOpsVisibilityScope;
|
|
376
|
-
contextPolicy: LifeOpsContextPolicy;
|
|
377
|
-
title: string;
|
|
378
|
-
description: string;
|
|
379
|
-
cadence: Record<string, unknown> | null;
|
|
380
|
-
supportStrategy: Record<string, unknown>;
|
|
381
|
-
successCriteria: Record<string, unknown>;
|
|
382
|
-
status: LifeOpsGoalStatus;
|
|
383
|
-
reviewState: LifeOpsGoalReviewState;
|
|
384
|
-
metadata: Record<string, unknown>;
|
|
385
|
-
createdAt: string;
|
|
386
|
-
updatedAt: string;
|
|
387
|
-
}
|
|
388
|
-
export interface LifeOpsGoalLink {
|
|
389
|
-
id: string;
|
|
390
|
-
agentId: string;
|
|
391
|
-
goalId: string;
|
|
392
|
-
linkedType: LifeOpsOwnerType;
|
|
393
|
-
linkedId: string;
|
|
394
|
-
createdAt: string;
|
|
395
|
-
}
|
|
396
|
-
export interface LifeOpsWorkflowDefinition {
|
|
397
|
-
id: string;
|
|
398
|
-
agentId: string;
|
|
399
|
-
domain: LifeOpsDomain;
|
|
400
|
-
subjectType: LifeOpsSubjectType;
|
|
401
|
-
subjectId: string;
|
|
402
|
-
visibilityScope: LifeOpsVisibilityScope;
|
|
403
|
-
contextPolicy: LifeOpsContextPolicy;
|
|
404
|
-
title: string;
|
|
405
|
-
triggerType: LifeOpsWorkflowTriggerType;
|
|
406
|
-
schedule: LifeOpsWorkflowSchedule;
|
|
407
|
-
actionPlan: LifeOpsWorkflowActionPlan;
|
|
408
|
-
permissionPolicy: LifeOpsWorkflowPermissionPolicy;
|
|
409
|
-
status: LifeOpsWorkflowStatus;
|
|
410
|
-
createdBy: LifeOpsActor;
|
|
411
|
-
metadata: Record<string, unknown>;
|
|
412
|
-
createdAt: string;
|
|
413
|
-
updatedAt: string;
|
|
414
|
-
}
|
|
415
|
-
export interface LifeOpsWorkflowRun {
|
|
416
|
-
id: string;
|
|
417
|
-
agentId: string;
|
|
418
|
-
workflowId: string;
|
|
419
|
-
startedAt: string;
|
|
420
|
-
finishedAt: string | null;
|
|
421
|
-
status: LifeOpsWorkflowRunStatus;
|
|
422
|
-
result: Record<string, unknown>;
|
|
423
|
-
auditRef: string | null;
|
|
424
|
-
}
|
|
425
|
-
export type LifeOpsWorkflowSchedule = {
|
|
426
|
-
kind: "manual";
|
|
427
|
-
} | {
|
|
428
|
-
kind: "once";
|
|
429
|
-
runAt: string;
|
|
430
|
-
timezone: string;
|
|
431
|
-
} | {
|
|
432
|
-
kind: "interval";
|
|
433
|
-
everyMinutes: number;
|
|
434
|
-
timezone: string;
|
|
435
|
-
} | {
|
|
436
|
-
kind: "cron";
|
|
437
|
-
cronExpression: string;
|
|
438
|
-
timezone: string;
|
|
439
|
-
} | {
|
|
440
|
-
kind: "relative_to_wake";
|
|
441
|
-
/** Minutes offset from wake anchor (wake.confirmed). Negative = before. */
|
|
442
|
-
offsetMinutes: number;
|
|
443
|
-
timezone: string;
|
|
444
|
-
onDays?: number[];
|
|
445
|
-
/** Minimum regularity required before projecting an anchor. Default: `regular`. */
|
|
446
|
-
requireRegularityAtLeast?: LifeOpsRegularityClass;
|
|
447
|
-
/**
|
|
448
|
-
* Minutes of sustained awake state after `wake.observed` required before
|
|
449
|
-
* the workflow fires. When set, the resolver waits for a `wake.confirmed`
|
|
450
|
-
* event rather than using the raw wake anchor.
|
|
451
|
-
*/
|
|
452
|
-
stabilityWindowMinutes?: number;
|
|
453
|
-
} | {
|
|
454
|
-
kind: "relative_to_bedtime";
|
|
455
|
-
offsetMinutes: number;
|
|
456
|
-
timezone: string;
|
|
457
|
-
onDays?: number[];
|
|
458
|
-
requireRegularityAtLeast?: LifeOpsRegularityClass;
|
|
459
|
-
} | {
|
|
460
|
-
/**
|
|
461
|
-
* Fires during the canonical "morning" window anchored on the latest
|
|
462
|
-
* wake.confirmed. The window starts at `wakeConfirmedAt` and ends
|
|
463
|
-
* `windowMinutesFromWake` later (default 240). Workflow scheduler emits
|
|
464
|
-
* exactly once per morning window when the workflow becomes eligible.
|
|
465
|
-
*/
|
|
466
|
-
kind: "during_morning";
|
|
467
|
-
timezone: string;
|
|
468
|
-
windowMinutesFromWake?: number;
|
|
469
|
-
onDays?: number[];
|
|
470
|
-
requireRegularityAtLeast?: LifeOpsRegularityClass;
|
|
471
|
-
} | {
|
|
472
|
-
/**
|
|
473
|
-
* Fires during the canonical "night" window anchored on the projected
|
|
474
|
-
* bedtime target. The window starts `windowMinutesBeforeSleepTarget`
|
|
475
|
-
* before the bedtime target and ends at `sleep.detected`. Fires exactly
|
|
476
|
-
* once per night window when the workflow becomes eligible.
|
|
477
|
-
*/
|
|
478
|
-
kind: "during_night";
|
|
479
|
-
timezone: string;
|
|
480
|
-
windowMinutesBeforeSleepTarget?: number;
|
|
481
|
-
onDays?: number[];
|
|
482
|
-
requireRegularityAtLeast?: LifeOpsRegularityClass;
|
|
483
|
-
} | {
|
|
484
|
-
kind: "event";
|
|
485
|
-
eventKind: LifeOpsEventKind;
|
|
486
|
-
filters?: LifeOpsEventFilters;
|
|
487
|
-
};
|
|
488
|
-
export interface LifeOpsWorkflowPermissionPolicy {
|
|
489
|
-
allowBrowserActions: boolean;
|
|
490
|
-
trustedBrowserActions: boolean;
|
|
491
|
-
allowXPosts: boolean;
|
|
492
|
-
trustedXPosting: boolean;
|
|
493
|
-
requireConfirmationForBrowserActions: boolean;
|
|
494
|
-
requireConfirmationForXPosts: boolean;
|
|
495
|
-
}
|
|
496
|
-
export declare const LIFEOPS_BROWSER_KINDS: readonly ["chrome", "safari"];
|
|
497
|
-
export type LifeOpsBrowserKind = (typeof LIFEOPS_BROWSER_KINDS)[number];
|
|
498
|
-
export declare const LIFEOPS_BROWSER_ACTION_KINDS: readonly ["open", "navigate", "focus_tab", "back", "forward", "reload", "click", "type", "submit", "read_page", "extract_links", "extract_forms"];
|
|
499
|
-
export type LifeOpsBrowserActionKind = (typeof LIFEOPS_BROWSER_ACTION_KINDS)[number];
|
|
500
|
-
export interface LifeOpsBrowserAction {
|
|
501
|
-
id: string;
|
|
502
|
-
kind: LifeOpsBrowserActionKind;
|
|
503
|
-
label: string;
|
|
504
|
-
browser?: LifeOpsBrowserKind | null;
|
|
505
|
-
windowId?: string | null;
|
|
506
|
-
tabId?: string | null;
|
|
507
|
-
url: string | null;
|
|
508
|
-
selector: string | null;
|
|
509
|
-
text: string | null;
|
|
510
|
-
accountAffecting: boolean;
|
|
511
|
-
requiresConfirmation: boolean;
|
|
512
|
-
metadata: Record<string, unknown>;
|
|
513
|
-
}
|
|
514
|
-
export interface LifeOpsWorkflowActionBase {
|
|
515
|
-
id?: string;
|
|
516
|
-
resultKey?: string;
|
|
517
|
-
}
|
|
518
|
-
export type LifeOpsWorkflowAction = (LifeOpsWorkflowActionBase & {
|
|
519
|
-
kind: "create_task";
|
|
520
|
-
request: CreateLifeOpsDefinitionRequest;
|
|
521
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
522
|
-
kind: "relock_website_access";
|
|
523
|
-
request: {
|
|
524
|
-
groupKey: string;
|
|
525
|
-
};
|
|
526
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
527
|
-
kind: "resolve_website_access_callback";
|
|
528
|
-
request: {
|
|
529
|
-
callbackKey: string;
|
|
530
|
-
};
|
|
531
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
532
|
-
kind: "get_calendar_feed";
|
|
533
|
-
request?: GetLifeOpsCalendarFeedRequest;
|
|
534
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
535
|
-
kind: "get_gmail_triage";
|
|
536
|
-
request?: GetLifeOpsGmailTriageRequest;
|
|
537
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
538
|
-
kind: "get_gmail_unresponded";
|
|
539
|
-
request?: GetLifeOpsGmailUnrespondedRequest;
|
|
540
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
541
|
-
kind: "get_health_summary";
|
|
542
|
-
request?: GetLifeOpsHealthSummaryRequest;
|
|
543
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
544
|
-
kind: "dispatch_workflow";
|
|
545
|
-
workflowId: string;
|
|
546
|
-
payload?: Record<string, unknown>;
|
|
547
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
548
|
-
kind: "summarize";
|
|
549
|
-
sourceKey?: string;
|
|
550
|
-
prompt?: string;
|
|
551
|
-
}) | (LifeOpsWorkflowActionBase & {
|
|
552
|
-
kind: "browser";
|
|
553
|
-
sessionTitle: string;
|
|
554
|
-
actions: Array<Omit<LifeOpsBrowserAction, "id">>;
|
|
555
|
-
});
|
|
556
|
-
export interface LifeOpsWorkflowActionPlan {
|
|
557
|
-
steps: LifeOpsWorkflowAction[];
|
|
558
|
-
}
|
|
559
|
-
export declare const LIFEOPS_REMINDER_ATTEMPT_OUTCOMES: readonly ["delivered", "delivered_read", "delivered_unread", "blocked_policy", "blocked_quiet_hours", "blocked_urgency", "blocked_acknowledged", "blocked_connector", "skipped_duplicate"];
|
|
560
|
-
export type LifeOpsReminderAttemptOutcome = (typeof LIFEOPS_REMINDER_ATTEMPT_OUTCOMES)[number];
|
|
561
|
-
export type LifeOpsReminderReviewStatus = "unrelated" | "needs_clarification" | "no_response" | "resolved" | "escalated" | "clarification_requested";
|
|
562
|
-
export interface LifeOpsReminderAttempt {
|
|
563
|
-
id: string;
|
|
564
|
-
agentId: string;
|
|
565
|
-
planId: string;
|
|
566
|
-
ownerType: LifeOpsOwnerType;
|
|
567
|
-
ownerId: string;
|
|
568
|
-
occurrenceId: string | null;
|
|
569
|
-
channel: LifeOpsReminderChannel;
|
|
570
|
-
stepIndex: number;
|
|
571
|
-
scheduledFor: string;
|
|
572
|
-
attemptedAt: string | null;
|
|
573
|
-
outcome: LifeOpsReminderAttemptOutcome;
|
|
574
|
-
connectorRef: string | null;
|
|
575
|
-
deliveryMetadata: Record<string, unknown>;
|
|
576
|
-
reviewAt?: string | null;
|
|
577
|
-
reviewStatus?: LifeOpsReminderReviewStatus | null;
|
|
578
|
-
}
|
|
579
|
-
export interface LifeOpsConnectorGrant {
|
|
580
|
-
id: string;
|
|
581
|
-
agentId: string;
|
|
582
|
-
provider: LifeOpsConnectorProvider;
|
|
583
|
-
/** LifeOps-owned stable account key; grant id remains legacy credential state. */
|
|
584
|
-
connectorAccountId?: string | null;
|
|
585
|
-
side: LifeOpsConnectorSide;
|
|
586
|
-
identity: Record<string, unknown>;
|
|
587
|
-
identityEmail?: string | null;
|
|
588
|
-
grantedScopes: string[];
|
|
589
|
-
capabilities: string[];
|
|
590
|
-
tokenRef: string | null;
|
|
591
|
-
mode: LifeOpsConnectorMode;
|
|
592
|
-
executionTarget: LifeOpsConnectorExecutionTarget;
|
|
593
|
-
sourceOfTruth: LifeOpsConnectorSourceOfTruth;
|
|
594
|
-
preferredByAgent: boolean;
|
|
595
|
-
cloudConnectionId: string | null;
|
|
596
|
-
metadata: Record<string, unknown>;
|
|
597
|
-
lastRefreshAt: string | null;
|
|
598
|
-
createdAt: string;
|
|
599
|
-
updatedAt: string;
|
|
600
|
-
}
|
|
601
|
-
export interface LifeOpsChannelPolicy {
|
|
602
|
-
id: string;
|
|
603
|
-
agentId: string;
|
|
604
|
-
channelType: LifeOpsChannelType;
|
|
605
|
-
channelRef: string;
|
|
606
|
-
privacyClass: LifeOpsPrivacyClass;
|
|
607
|
-
allowReminders: boolean;
|
|
608
|
-
allowEscalation: boolean;
|
|
609
|
-
allowPosts: boolean;
|
|
610
|
-
requireConfirmationForActions: boolean;
|
|
611
|
-
metadata: Record<string, unknown>;
|
|
612
|
-
createdAt: string;
|
|
613
|
-
updatedAt: string;
|
|
614
|
-
}
|
|
615
|
-
export declare const LIFEOPS_ACTIVITY_SIGNAL_SOURCES: readonly ["app_lifecycle", "page_visibility", "desktop_power", "desktop_interaction", "connector_activity", "imessage_outbound", "mobile_device", "mobile_health"];
|
|
616
|
-
export type LifeOpsActivitySignalSource = (typeof LIFEOPS_ACTIVITY_SIGNAL_SOURCES)[number];
|
|
617
|
-
export declare const LIFEOPS_ACTIVITY_SIGNAL_STATES: readonly ["active", "idle", "background", "locked", "sleeping"];
|
|
618
|
-
export type LifeOpsActivitySignalState = (typeof LIFEOPS_ACTIVITY_SIGNAL_STATES)[number];
|
|
619
|
-
export declare const LIFEOPS_HEALTH_SIGNAL_SOURCES: readonly ["healthkit", "health_connect", "strava", "fitbit", "withings", "oura"];
|
|
620
|
-
export type LifeOpsHealthSignalSource = (typeof LIFEOPS_HEALTH_SIGNAL_SOURCES)[number];
|
|
621
|
-
export interface LifeOpsHealthSignalSleepSummary {
|
|
622
|
-
available: boolean;
|
|
623
|
-
isSleeping: boolean;
|
|
624
|
-
asleepAt: string | null;
|
|
625
|
-
awakeAt: string | null;
|
|
626
|
-
durationMinutes: number | null;
|
|
627
|
-
stage: string | null;
|
|
628
|
-
}
|
|
629
|
-
export interface LifeOpsHealthSignalBiometrics {
|
|
630
|
-
sampleAt: string | null;
|
|
631
|
-
heartRateBpm: number | null;
|
|
632
|
-
restingHeartRateBpm: number | null;
|
|
633
|
-
heartRateVariabilityMs: number | null;
|
|
634
|
-
respiratoryRate: number | null;
|
|
635
|
-
bloodOxygenPercent: number | null;
|
|
636
|
-
}
|
|
637
|
-
export interface LifeOpsHealthSignal {
|
|
638
|
-
source: LifeOpsHealthSignalSource;
|
|
639
|
-
permissions: {
|
|
640
|
-
sleep: boolean;
|
|
641
|
-
biometrics: boolean;
|
|
642
|
-
};
|
|
643
|
-
sleep: LifeOpsHealthSignalSleepSummary;
|
|
644
|
-
biometrics: LifeOpsHealthSignalBiometrics;
|
|
645
|
-
warnings: string[];
|
|
646
|
-
}
|
|
647
|
-
export declare const LIFEOPS_HEALTH_CONNECTOR_REASONS: readonly ["connected", "disconnected", "config_missing", "needs_reauth", "sync_failed"];
|
|
648
|
-
export type LifeOpsHealthConnectorReason = (typeof LIFEOPS_HEALTH_CONNECTOR_REASONS)[number];
|
|
649
|
-
export interface LifeOpsHealthConnectorStatus {
|
|
650
|
-
provider: LifeOpsHealthConnectorProvider;
|
|
651
|
-
side: LifeOpsConnectorSide;
|
|
652
|
-
mode: LifeOpsConnectorMode;
|
|
653
|
-
defaultMode: LifeOpsConnectorMode;
|
|
654
|
-
availableModes: LifeOpsConnectorMode[];
|
|
655
|
-
executionTarget: LifeOpsConnectorExecutionTarget;
|
|
656
|
-
sourceOfTruth: LifeOpsConnectorSourceOfTruth;
|
|
657
|
-
configured: boolean;
|
|
658
|
-
connected: boolean;
|
|
659
|
-
reason: LifeOpsHealthConnectorReason;
|
|
660
|
-
identity: Record<string, unknown> | null;
|
|
661
|
-
grantedCapabilities: LifeOpsHealthConnectorCapability[];
|
|
662
|
-
grantedScopes: string[];
|
|
663
|
-
expiresAt: string | null;
|
|
664
|
-
hasRefreshToken: boolean;
|
|
665
|
-
lastSyncAt: string | null;
|
|
666
|
-
grant: LifeOpsConnectorGrant | null;
|
|
667
|
-
degradations?: LifeOpsConnectorDegradation[];
|
|
668
|
-
}
|
|
669
|
-
export interface LifeOpsHealthMetricSample {
|
|
670
|
-
id: string;
|
|
671
|
-
agentId: string;
|
|
672
|
-
provider: LifeOpsHealthConnectorProvider;
|
|
673
|
-
grantId: string;
|
|
674
|
-
metric: LifeOpsHealthMetric;
|
|
675
|
-
value: number;
|
|
676
|
-
unit: string;
|
|
677
|
-
startAt: string;
|
|
678
|
-
endAt: string;
|
|
679
|
-
localDate: string;
|
|
680
|
-
sourceExternalId: string;
|
|
681
|
-
metadata: Record<string, unknown>;
|
|
682
|
-
createdAt: string;
|
|
683
|
-
updatedAt: string;
|
|
684
|
-
}
|
|
685
|
-
export interface LifeOpsHealthWorkout {
|
|
686
|
-
id: string;
|
|
687
|
-
agentId: string;
|
|
688
|
-
provider: LifeOpsHealthConnectorProvider;
|
|
689
|
-
grantId: string;
|
|
690
|
-
sourceExternalId: string;
|
|
691
|
-
workoutType: string;
|
|
692
|
-
title: string;
|
|
693
|
-
startAt: string;
|
|
694
|
-
endAt: string | null;
|
|
695
|
-
durationSeconds: number;
|
|
696
|
-
distanceMeters: number | null;
|
|
697
|
-
calories: number | null;
|
|
698
|
-
averageHeartRate: number | null;
|
|
699
|
-
maxHeartRate: number | null;
|
|
700
|
-
metadata: Record<string, unknown>;
|
|
701
|
-
createdAt: string;
|
|
702
|
-
updatedAt: string;
|
|
703
|
-
}
|
|
704
|
-
export interface LifeOpsHealthSyncState {
|
|
705
|
-
id: string;
|
|
706
|
-
agentId: string;
|
|
707
|
-
provider: LifeOpsHealthConnectorProvider;
|
|
708
|
-
grantId: string;
|
|
709
|
-
cursor: string | null;
|
|
710
|
-
lastSyncedAt: string | null;
|
|
711
|
-
lastSyncStartedAt: string | null;
|
|
712
|
-
lastSyncError: string | null;
|
|
713
|
-
metadata: Record<string, unknown>;
|
|
714
|
-
updatedAt: string;
|
|
715
|
-
}
|
|
716
|
-
export declare const LIFEOPS_HEALTH_SLEEP_STAGES: readonly ["awake", "light", "deep", "rem", "restless", "unknown"];
|
|
717
|
-
export type LifeOpsHealthSleepStage = (typeof LIFEOPS_HEALTH_SLEEP_STAGES)[number];
|
|
718
|
-
export interface LifeOpsHealthSleepStageSample {
|
|
719
|
-
stage: LifeOpsHealthSleepStage;
|
|
720
|
-
startAt: string;
|
|
721
|
-
endAt: string;
|
|
722
|
-
confidence: number | null;
|
|
723
|
-
providerCode: string | null;
|
|
724
|
-
}
|
|
725
|
-
export interface LifeOpsHealthSleepEpisode {
|
|
726
|
-
id: string;
|
|
727
|
-
agentId: string;
|
|
728
|
-
provider: LifeOpsHealthConnectorProvider;
|
|
729
|
-
grantId: string;
|
|
730
|
-
sourceExternalId: string;
|
|
731
|
-
localDate: string;
|
|
732
|
-
timezone: string | null;
|
|
733
|
-
startAt: string;
|
|
734
|
-
endAt: string;
|
|
735
|
-
isMainSleep: boolean;
|
|
736
|
-
sleepType: string | null;
|
|
737
|
-
durationSeconds: number;
|
|
738
|
-
timeInBedSeconds: number | null;
|
|
739
|
-
efficiency: number | null;
|
|
740
|
-
latencySeconds: number | null;
|
|
741
|
-
awakeSeconds: number | null;
|
|
742
|
-
lightSleepSeconds: number | null;
|
|
743
|
-
deepSleepSeconds: number | null;
|
|
744
|
-
remSleepSeconds: number | null;
|
|
745
|
-
sleepScore: number | null;
|
|
746
|
-
readinessScore: number | null;
|
|
747
|
-
averageHeartRate: number | null;
|
|
748
|
-
lowestHeartRate: number | null;
|
|
749
|
-
averageHrvMs: number | null;
|
|
750
|
-
respiratoryRate: number | null;
|
|
751
|
-
bloodOxygenPercent: number | null;
|
|
752
|
-
stageSamples: LifeOpsHealthSleepStageSample[];
|
|
753
|
-
metadata: Record<string, unknown>;
|
|
754
|
-
createdAt: string;
|
|
755
|
-
updatedAt: string;
|
|
756
|
-
}
|
|
757
|
-
export interface LifeOpsHealthDailySummary {
|
|
758
|
-
date: string;
|
|
759
|
-
provider: LifeOpsHealthConnectorProvider | "healthkit" | "google-fit";
|
|
760
|
-
steps: number;
|
|
761
|
-
activeMinutes: number;
|
|
762
|
-
sleepHours: number;
|
|
763
|
-
calories: number | null;
|
|
764
|
-
distanceMeters: number | null;
|
|
765
|
-
heartRateAvg: number | null;
|
|
766
|
-
restingHeartRate: number | null;
|
|
767
|
-
hrvMs: number | null;
|
|
768
|
-
sleepScore: number | null;
|
|
769
|
-
readinessScore: number | null;
|
|
770
|
-
weightKg: number | null;
|
|
771
|
-
bloodPressureSystolic: number | null;
|
|
772
|
-
bloodPressureDiastolic: number | null;
|
|
773
|
-
bloodOxygenPercent: number | null;
|
|
774
|
-
}
|
|
775
|
-
export interface GetLifeOpsHealthSummaryRequest {
|
|
776
|
-
provider?: LifeOpsHealthConnectorProvider | null;
|
|
777
|
-
mode?: LifeOpsConnectorMode;
|
|
778
|
-
side?: LifeOpsConnectorSide;
|
|
779
|
-
days?: number;
|
|
780
|
-
startDate?: string | null;
|
|
781
|
-
endDate?: string | null;
|
|
782
|
-
metrics?: LifeOpsHealthMetric[];
|
|
783
|
-
forceSync?: boolean;
|
|
784
|
-
}
|
|
785
|
-
export interface LifeOpsHealthSummaryResponse {
|
|
786
|
-
providers: LifeOpsHealthConnectorStatus[];
|
|
787
|
-
summaries: LifeOpsHealthDailySummary[];
|
|
788
|
-
samples: LifeOpsHealthMetricSample[];
|
|
789
|
-
workouts: LifeOpsHealthWorkout[];
|
|
790
|
-
sleepEpisodes: LifeOpsHealthSleepEpisode[];
|
|
791
|
-
syncedAt: string;
|
|
792
|
-
}
|
|
793
|
-
export interface StartLifeOpsHealthConnectorRequest {
|
|
794
|
-
provider: LifeOpsHealthConnectorProvider;
|
|
795
|
-
side?: LifeOpsConnectorSide;
|
|
796
|
-
mode?: LifeOpsConnectorMode;
|
|
797
|
-
redirectUrl?: string;
|
|
798
|
-
capabilities?: LifeOpsHealthConnectorCapability[];
|
|
799
|
-
}
|
|
800
|
-
export interface StartLifeOpsHealthConnectorResponse {
|
|
801
|
-
provider: LifeOpsHealthConnectorProvider;
|
|
802
|
-
side: LifeOpsConnectorSide;
|
|
803
|
-
mode: LifeOpsConnectorMode;
|
|
804
|
-
requestedCapabilities: LifeOpsHealthConnectorCapability[];
|
|
805
|
-
redirectUri: string;
|
|
806
|
-
authUrl: string | null;
|
|
807
|
-
}
|
|
808
|
-
export interface DisconnectLifeOpsHealthConnectorRequest {
|
|
809
|
-
provider: LifeOpsHealthConnectorProvider;
|
|
810
|
-
side?: LifeOpsConnectorSide;
|
|
811
|
-
mode?: LifeOpsConnectorMode;
|
|
812
|
-
grantId?: string;
|
|
813
|
-
}
|
|
814
|
-
export interface SyncLifeOpsHealthConnectorRequest {
|
|
815
|
-
provider?: LifeOpsHealthConnectorProvider | null;
|
|
816
|
-
side?: LifeOpsConnectorSide;
|
|
817
|
-
mode?: LifeOpsConnectorMode;
|
|
818
|
-
startDate?: string | null;
|
|
819
|
-
endDate?: string | null;
|
|
820
|
-
days?: number;
|
|
821
|
-
}
|
|
822
|
-
export interface LifeOpsActivitySignal {
|
|
823
|
-
id: string;
|
|
824
|
-
agentId: string;
|
|
825
|
-
source: LifeOpsActivitySignalSource;
|
|
826
|
-
platform: string;
|
|
827
|
-
state: LifeOpsActivitySignalState;
|
|
828
|
-
observedAt: string;
|
|
829
|
-
idleState: "active" | "idle" | "locked" | "unknown" | null;
|
|
830
|
-
idleTimeSeconds: number | null;
|
|
831
|
-
onBattery: boolean | null;
|
|
832
|
-
health: LifeOpsHealthSignal | null;
|
|
833
|
-
metadata: Record<string, unknown>;
|
|
834
|
-
createdAt: string;
|
|
835
|
-
}
|
|
836
|
-
export type LifeOpsDevicePlatform = "macos_desktop" | "macos_electrobun" | "ios_capacitor" | "ipados_capacitor" | "browser_web";
|
|
837
|
-
export interface LifeOpsDevicePresencePayload {
|
|
838
|
-
family: "device_presence_event";
|
|
839
|
-
platform: LifeOpsDevicePlatform;
|
|
840
|
-
state: LifeOpsActivitySignalState;
|
|
841
|
-
deviceId: string;
|
|
842
|
-
isTransition: boolean;
|
|
843
|
-
sequence: number;
|
|
844
|
-
}
|
|
845
|
-
export type LifeOpsDesktopPowerEventKind = "system_wake" | "system_sleep" | "screen_wake" | "screen_sleep" | "session_lock" | "session_unlock" | "ac_plug" | "ac_unplug";
|
|
846
|
-
export interface LifeOpsDesktopPowerPayload {
|
|
847
|
-
family: "desktop_power_event";
|
|
848
|
-
platform: "macos_desktop" | "macos_electrobun";
|
|
849
|
-
kind: LifeOpsDesktopPowerEventKind;
|
|
850
|
-
batteryPercent: number | null;
|
|
851
|
-
}
|
|
852
|
-
export interface LifeOpsDesktopIdleSamplePayload {
|
|
853
|
-
family: "desktop_idle_sample";
|
|
854
|
-
platform: "macos_desktop" | "macos_electrobun";
|
|
855
|
-
idleSeconds: number;
|
|
856
|
-
source: "iokit_hid" | "cgevent" | "collector_synthesized";
|
|
857
|
-
isThresholdCrossing: boolean;
|
|
858
|
-
}
|
|
859
|
-
export interface LifeOpsBrowserFocusPayload {
|
|
860
|
-
family: "browser_focus_window";
|
|
861
|
-
platform: "browser_web" | "macos_electrobun";
|
|
862
|
-
startAt: string;
|
|
863
|
-
endAt: string;
|
|
864
|
-
domain: string;
|
|
865
|
-
tabId: string;
|
|
866
|
-
focusedSeconds: number;
|
|
867
|
-
}
|
|
868
|
-
export interface LifeOpsMobileHealthPayload {
|
|
869
|
-
family: "mobile_health_snapshot";
|
|
870
|
-
platform: "ios_capacitor" | "ipados_capacitor";
|
|
871
|
-
signal: LifeOpsHealthSignal;
|
|
872
|
-
sampleId: string | null;
|
|
873
|
-
}
|
|
874
|
-
export type LifeOpsMobileDeviceTelemetrySource = "capacitor_mobile_signals" | "macos_continuity_probe";
|
|
875
|
-
export interface LifeOpsMobileDevicePayload {
|
|
876
|
-
family: "mobile_device_snapshot";
|
|
877
|
-
platform: "ios_capacitor" | "ipados_capacitor" | "macos_desktop";
|
|
878
|
-
source: LifeOpsMobileDeviceTelemetrySource;
|
|
879
|
-
locked: boolean;
|
|
880
|
-
idleTimeSeconds: number | null;
|
|
881
|
-
onBattery: boolean | null;
|
|
882
|
-
batteryPercent: number | null;
|
|
883
|
-
pairedDeviceId: string | null;
|
|
884
|
-
}
|
|
885
|
-
export type LifeOpsTelemetryMessageChannel = "gmail" | "x_dm" | "discord" | "telegram" | "signal" | "imessage" | "whatsapp" | "sms" | "eliza_chat";
|
|
886
|
-
export type LifeOpsMessageDirection = "inbound" | "outbound_by_owner";
|
|
887
|
-
export interface LifeOpsMessageActivityPayload {
|
|
888
|
-
family: "message_activity_event";
|
|
889
|
-
platform: LifeOpsDevicePlatform;
|
|
890
|
-
channel: LifeOpsTelemetryMessageChannel;
|
|
891
|
-
direction: LifeOpsMessageDirection;
|
|
892
|
-
externalMessageId: string;
|
|
893
|
-
senderHash: string;
|
|
894
|
-
conversationHash: string;
|
|
895
|
-
}
|
|
896
|
-
export type LifeOpsStatusPlatform = "slack" | "discord" | "telegram" | "x";
|
|
897
|
-
export type LifeOpsStatusTransition = "online" | "offline" | "away" | "do_not_disturb" | "custom_set" | "custom_cleared";
|
|
898
|
-
export interface LifeOpsStatusActivityPayload {
|
|
899
|
-
family: "status_activity_event";
|
|
900
|
-
platform: LifeOpsStatusPlatform;
|
|
901
|
-
transition: LifeOpsStatusTransition;
|
|
902
|
-
}
|
|
903
|
-
export interface LifeOpsChargingPayload {
|
|
904
|
-
family: "charging_event";
|
|
905
|
-
platform: LifeOpsDevicePlatform;
|
|
906
|
-
connected: boolean;
|
|
907
|
-
batteryPercent: number;
|
|
908
|
-
}
|
|
909
|
-
export interface LifeOpsScreenTimePerAppUsage {
|
|
910
|
-
appBundleId: string;
|
|
911
|
-
minutesUsed: number;
|
|
912
|
-
}
|
|
913
|
-
export interface LifeOpsScreenTimeSummaryPayload {
|
|
914
|
-
family: "screen_time_summary";
|
|
915
|
-
platform: "ios_capacitor" | "ipados_capacitor" | "macos_desktop";
|
|
916
|
-
intervalStartAt: string;
|
|
917
|
-
intervalEndAt: string;
|
|
918
|
-
totalMinutesUsed: number;
|
|
919
|
-
apps: LifeOpsScreenTimePerAppUsage[];
|
|
920
|
-
}
|
|
921
|
-
export type LifeOpsManualOverrideTelemetryKind = "going_to_bed" | "just_woke_up";
|
|
922
|
-
export interface LifeOpsManualOverridePayload {
|
|
923
|
-
family: "manual_override_event";
|
|
924
|
-
platform: LifeOpsDevicePlatform;
|
|
925
|
-
kind: LifeOpsManualOverrideTelemetryKind;
|
|
926
|
-
note: string | null;
|
|
927
|
-
}
|
|
928
|
-
export type LifeOpsTelemetryPayload = LifeOpsDevicePresencePayload | LifeOpsDesktopPowerPayload | LifeOpsDesktopIdleSamplePayload | LifeOpsBrowserFocusPayload | LifeOpsMobileHealthPayload | LifeOpsMobileDevicePayload | LifeOpsMessageActivityPayload | LifeOpsStatusActivityPayload | LifeOpsChargingPayload | LifeOpsScreenTimeSummaryPayload | LifeOpsManualOverridePayload;
|
|
929
|
-
export type LifeOpsTelemetryFamily = LifeOpsTelemetryPayload["family"];
|
|
930
|
-
export declare const LIFEOPS_TELEMETRY_FAMILIES: readonly LifeOpsTelemetryFamily[];
|
|
931
|
-
export interface LifeOpsTelemetryEnvelope {
|
|
932
|
-
id: string;
|
|
933
|
-
agentId: string;
|
|
934
|
-
family: LifeOpsTelemetryFamily;
|
|
935
|
-
occurredAt: string;
|
|
936
|
-
ingestedAt: string;
|
|
937
|
-
dedupeKey: string;
|
|
938
|
-
sourceReliability: number;
|
|
939
|
-
}
|
|
940
|
-
export type LifeOpsTelemetryEvent = LifeOpsTelemetryEnvelope & {
|
|
941
|
-
payload: LifeOpsTelemetryPayload;
|
|
942
|
-
};
|
|
943
|
-
export interface LifeOpsReminderPreferenceSetting {
|
|
944
|
-
intensity: LifeOpsReminderIntensity;
|
|
945
|
-
source: LifeOpsReminderPreferenceSource;
|
|
946
|
-
updatedAt: string | null;
|
|
947
|
-
note: string | null;
|
|
948
|
-
}
|
|
949
|
-
export interface LifeOpsReminderPreference {
|
|
950
|
-
definitionId: string | null;
|
|
951
|
-
definitionTitle: string | null;
|
|
952
|
-
global: LifeOpsReminderPreferenceSetting;
|
|
953
|
-
definition: LifeOpsReminderPreferenceSetting | null;
|
|
954
|
-
effective: LifeOpsReminderPreferenceSetting;
|
|
955
|
-
}
|
|
956
|
-
export interface LifeOpsAuditEvent {
|
|
957
|
-
id: string;
|
|
958
|
-
agentId: string;
|
|
959
|
-
eventType: LifeOpsAuditEventType;
|
|
960
|
-
ownerType: LifeOpsOwnerType;
|
|
961
|
-
ownerId: string;
|
|
962
|
-
reason: string;
|
|
963
|
-
inputs: Record<string, unknown>;
|
|
964
|
-
decision: Record<string, unknown>;
|
|
965
|
-
actor: LifeOpsActor;
|
|
966
|
-
createdAt: string;
|
|
967
|
-
}
|
|
968
|
-
export interface LifeOpsActiveReminderView {
|
|
969
|
-
domain: LifeOpsDomain;
|
|
970
|
-
subjectType: LifeOpsSubjectType;
|
|
971
|
-
subjectId: string;
|
|
972
|
-
ownerType: "occurrence" | "calendar_event";
|
|
973
|
-
ownerId: string;
|
|
974
|
-
occurrenceId: string | null;
|
|
975
|
-
definitionId: string | null;
|
|
976
|
-
eventId: string | null;
|
|
977
|
-
title: string;
|
|
978
|
-
channel: LifeOpsReminderChannel;
|
|
979
|
-
stepIndex: number;
|
|
980
|
-
stepLabel: string;
|
|
981
|
-
scheduledFor: string;
|
|
982
|
-
dueAt: string | null;
|
|
983
|
-
state: LifeOpsOccurrenceState | "upcoming";
|
|
984
|
-
metadata?: Record<string, unknown>;
|
|
985
|
-
htmlLink?: string | null;
|
|
986
|
-
eventStartAt?: string | null;
|
|
987
|
-
}
|
|
988
|
-
export interface LifeOpsOverviewSummary {
|
|
989
|
-
activeOccurrenceCount: number;
|
|
990
|
-
overdueOccurrenceCount: number;
|
|
991
|
-
snoozedOccurrenceCount: number;
|
|
992
|
-
activeReminderCount: number;
|
|
993
|
-
activeGoalCount: number;
|
|
994
|
-
}
|
|
995
|
-
export declare const LIFEOPS_CIRCADIAN_STATES: readonly ["awake", "winding_down", "sleeping", "waking", "napping", "unclear"];
|
|
996
|
-
export type LifeOpsCircadianState = (typeof LIFEOPS_CIRCADIAN_STATES)[number];
|
|
997
|
-
export declare const LIFEOPS_UNCLEAR_REASONS: readonly ["no_signals", "contradictory_signals", "insufficient_history", "permission_blocked", "signal_outage", "boot_cold_start", "stale_state"];
|
|
998
|
-
export type LifeOpsUnclearReason = (typeof LIFEOPS_UNCLEAR_REASONS)[number];
|
|
999
|
-
export type LifeOpsScheduleSleepStatus = "sleeping_now" | "slept" | "likely_missed" | "unknown";
|
|
1000
|
-
export type LifeOpsSleepCycleEvidenceSource = "health" | "activity_gap";
|
|
1001
|
-
export type LifeOpsSleepCycleType = "nap" | "overnight" | "unknown";
|
|
1002
|
-
export type LifeOpsRegularityClass = "very_regular" | "regular" | "irregular" | "very_irregular" | "insufficient_data";
|
|
1003
|
-
export interface LifeOpsScheduleRegularity {
|
|
1004
|
-
sri: number;
|
|
1005
|
-
bedtimeStddevMin: number;
|
|
1006
|
-
wakeStddevMin: number;
|
|
1007
|
-
midSleepStddevMin: number;
|
|
1008
|
-
regularityClass: LifeOpsRegularityClass;
|
|
1009
|
-
sampleCount: number;
|
|
1010
|
-
windowDays: number;
|
|
1011
|
-
}
|
|
1012
|
-
/**
|
|
1013
|
-
* Personal baseline derived from persisted sleep episodes over `windowDays`.
|
|
1014
|
-
* Medians are computed via circular mean (sin/cos projection) so bedtimes
|
|
1015
|
-
* crossing midnight produce correct answers. Returned as `null` on
|
|
1016
|
-
* `LifeOpsScheduleInsight` when `sampleCount < 5` — the scalar typical hours
|
|
1017
|
-
* that previously existed are deleted from the contract.
|
|
1018
|
-
*/
|
|
1019
|
-
export interface LifeOpsPersonalBaseline {
|
|
1020
|
-
/** Local wake hour in [0, 24). Circular mean over episode end instants. */
|
|
1021
|
-
medianWakeLocalHour: number;
|
|
1022
|
-
/** Local bedtime hour in [12, 36) (normalized so evening hours are next-day). Circular mean. */
|
|
1023
|
-
medianBedtimeLocalHour: number;
|
|
1024
|
-
/** Median sleep episode duration in minutes. */
|
|
1025
|
-
medianSleepDurationMin: number;
|
|
1026
|
-
/** Circular stddev of bedtime in minutes. */
|
|
1027
|
-
bedtimeStddevMin: number;
|
|
1028
|
-
/** Circular stddev of wake time in minutes. */
|
|
1029
|
-
wakeStddevMin: number;
|
|
1030
|
-
/** Number of persisted episodes that fed the computation. */
|
|
1031
|
-
sampleCount: number;
|
|
1032
|
-
/** Size of the look-back window in days (default 28). */
|
|
1033
|
-
windowDays: number;
|
|
1034
|
-
}
|
|
1035
|
-
export type LifeOpsAwakeProbabilitySource = LifeOpsActivitySignalSource | "prior" | "health" | "activity_gap";
|
|
1036
|
-
export interface LifeOpsAwakeProbabilityContributor {
|
|
1037
|
-
source: LifeOpsAwakeProbabilitySource;
|
|
1038
|
-
logLikelihoodRatio: number;
|
|
1039
|
-
}
|
|
1040
|
-
export interface LifeOpsAwakeProbability {
|
|
1041
|
-
pAwake: number;
|
|
1042
|
-
pAsleep: number;
|
|
1043
|
-
pUnknown: number;
|
|
1044
|
-
contributingSources: LifeOpsAwakeProbabilityContributor[];
|
|
1045
|
-
computedAt: string;
|
|
1046
|
-
}
|
|
1047
|
-
export interface LifeOpsSleepCycleEvidence {
|
|
1048
|
-
startAt: string;
|
|
1049
|
-
endAt: string | null;
|
|
1050
|
-
source: LifeOpsSleepCycleEvidenceSource;
|
|
1051
|
-
confidence: number;
|
|
1052
|
-
}
|
|
1053
|
-
export interface LifeOpsSleepCycle {
|
|
1054
|
-
cycleType: LifeOpsSleepCycleType;
|
|
1055
|
-
sleepStatus: LifeOpsScheduleSleepStatus;
|
|
1056
|
-
isProbablySleeping: boolean;
|
|
1057
|
-
sleepConfidence: number;
|
|
1058
|
-
currentSleepStartedAt: string | null;
|
|
1059
|
-
lastSleepStartedAt: string | null;
|
|
1060
|
-
lastSleepEndedAt: string | null;
|
|
1061
|
-
lastSleepDurationMinutes: number | null;
|
|
1062
|
-
evidence: LifeOpsSleepCycleEvidence[];
|
|
1063
|
-
}
|
|
1064
|
-
export type LifeOpsDayBoundaryAnchor = "start_of_day" | "end_of_day" | "before_sleep";
|
|
1065
|
-
export interface LifeOpsDayBoundary {
|
|
1066
|
-
effectiveDayKey: string;
|
|
1067
|
-
localDate: string;
|
|
1068
|
-
timezone: string;
|
|
1069
|
-
anchor: LifeOpsDayBoundaryAnchor;
|
|
1070
|
-
startOfDayAt: string;
|
|
1071
|
-
endOfDayAt: string;
|
|
1072
|
-
beforeSleepAt: string | null;
|
|
1073
|
-
confidence: number;
|
|
1074
|
-
}
|
|
1075
|
-
export type LifeOpsRelativeTimeAnchorSource = "sleep_cycle" | "activity" | "typical_sleep" | "day_boundary";
|
|
1076
|
-
export interface LifeOpsRelativeTime {
|
|
1077
|
-
computedAt: string;
|
|
1078
|
-
localNowAt: string;
|
|
1079
|
-
circadianState: LifeOpsCircadianState;
|
|
1080
|
-
stateConfidence: number;
|
|
1081
|
-
uncertaintyReason: LifeOpsUnclearReason | null;
|
|
1082
|
-
awakeProbability: LifeOpsAwakeProbability;
|
|
1083
|
-
wakeAnchorAt: string | null;
|
|
1084
|
-
wakeAnchorSource: LifeOpsRelativeTimeAnchorSource | null;
|
|
1085
|
-
minutesSinceWake: number | null;
|
|
1086
|
-
minutesAwake: number | null;
|
|
1087
|
-
bedtimeTargetAt: string | null;
|
|
1088
|
-
bedtimeTargetSource: LifeOpsRelativeTimeAnchorSource | null;
|
|
1089
|
-
minutesUntilBedtimeTarget: number | null;
|
|
1090
|
-
minutesSinceBedtimeTarget: number | null;
|
|
1091
|
-
dayBoundaryStartAt: string;
|
|
1092
|
-
dayBoundaryEndAt: string;
|
|
1093
|
-
minutesSinceDayBoundaryStart: number;
|
|
1094
|
-
minutesUntilDayBoundaryEnd: number;
|
|
1095
|
-
confidence: number;
|
|
1096
|
-
}
|
|
1097
|
-
export type LifeOpsScheduleMealLabel = "breakfast" | "lunch" | "dinner";
|
|
1098
|
-
export type LifeOpsScheduleMealSource = "activity_gap" | "expected_window" | "health";
|
|
1099
|
-
export interface LifeOpsScheduleMealInsight {
|
|
1100
|
-
label: LifeOpsScheduleMealLabel;
|
|
1101
|
-
detectedAt: string;
|
|
1102
|
-
confidence: number;
|
|
1103
|
-
source: LifeOpsScheduleMealSource;
|
|
1104
|
-
}
|
|
1105
|
-
/**
|
|
1106
|
-
* A single rule firing from `scoreCircadianRules`. Persisted on the schedule
|
|
1107
|
-
* insight so the inspection UI can explain *why* the state machine landed
|
|
1108
|
-
* where it did without re-running inference.
|
|
1109
|
-
*/
|
|
1110
|
-
export interface LifeOpsCircadianRuleFiring {
|
|
1111
|
-
name: string;
|
|
1112
|
-
contributes: LifeOpsCircadianState;
|
|
1113
|
-
weight: number;
|
|
1114
|
-
observedAt: string;
|
|
1115
|
-
reason: string;
|
|
1116
|
-
}
|
|
1117
|
-
export interface LifeOpsScheduleInsight {
|
|
1118
|
-
effectiveDayKey: string;
|
|
1119
|
-
localDate: string;
|
|
1120
|
-
timezone: string;
|
|
1121
|
-
inferredAt: string;
|
|
1122
|
-
circadianState: LifeOpsCircadianState;
|
|
1123
|
-
stateConfidence: number;
|
|
1124
|
-
uncertaintyReason: LifeOpsUnclearReason | null;
|
|
1125
|
-
relativeTime: LifeOpsRelativeTime;
|
|
1126
|
-
awakeProbability: LifeOpsAwakeProbability;
|
|
1127
|
-
regularity: LifeOpsScheduleRegularity;
|
|
1128
|
-
baseline: LifeOpsPersonalBaseline | null;
|
|
1129
|
-
/**
|
|
1130
|
-
* Named-rules evidence from the circadian scorer. Ordered by descending
|
|
1131
|
-
* weight. Empty when `circadianState === "unclear"` and no rules fired.
|
|
1132
|
-
*/
|
|
1133
|
-
circadianRuleFirings: LifeOpsCircadianRuleFiring[];
|
|
1134
|
-
sleepStatus: LifeOpsScheduleSleepStatus;
|
|
1135
|
-
sleepConfidence: number;
|
|
1136
|
-
currentSleepStartedAt: string | null;
|
|
1137
|
-
lastSleepStartedAt: string | null;
|
|
1138
|
-
lastSleepEndedAt: string | null;
|
|
1139
|
-
lastSleepDurationMinutes: number | null;
|
|
1140
|
-
wakeAt: string | null;
|
|
1141
|
-
firstActiveAt: string | null;
|
|
1142
|
-
lastActiveAt: string | null;
|
|
1143
|
-
meals: LifeOpsScheduleMealInsight[];
|
|
1144
|
-
lastMealAt: string | null;
|
|
1145
|
-
nextMealLabel: LifeOpsScheduleMealLabel | null;
|
|
1146
|
-
nextMealWindowStartAt: string | null;
|
|
1147
|
-
nextMealWindowEndAt: string | null;
|
|
1148
|
-
nextMealConfidence: number;
|
|
1149
|
-
}
|
|
1150
|
-
export type LifeOpsCapabilityDomain = "core" | "schedule" | "reminders" | "activity" | "connectors" | "profile";
|
|
1151
|
-
export type LifeOpsCapabilityState = "working" | "degraded" | "blocked" | "not_configured";
|
|
1152
|
-
export interface LifeOpsCapabilityEvidence {
|
|
1153
|
-
label: string;
|
|
1154
|
-
state: LifeOpsCapabilityState;
|
|
1155
|
-
detail: string | null;
|
|
1156
|
-
observedAt: string | null;
|
|
1157
|
-
}
|
|
1158
|
-
export interface LifeOpsCapabilityStatus {
|
|
1159
|
-
id: string;
|
|
1160
|
-
domain: LifeOpsCapabilityDomain;
|
|
1161
|
-
label: string;
|
|
1162
|
-
state: LifeOpsCapabilityState;
|
|
1163
|
-
summary: string;
|
|
1164
|
-
confidence: number;
|
|
1165
|
-
lastCheckedAt: string;
|
|
1166
|
-
evidence: LifeOpsCapabilityEvidence[];
|
|
1167
|
-
}
|
|
1168
|
-
export interface LifeOpsCapabilitiesSummary {
|
|
1169
|
-
totalCount: number;
|
|
1170
|
-
workingCount: number;
|
|
1171
|
-
degradedCount: number;
|
|
1172
|
-
blockedCount: number;
|
|
1173
|
-
notConfiguredCount: number;
|
|
1174
|
-
}
|
|
1175
|
-
export interface LifeOpsCapabilitiesStatus {
|
|
1176
|
-
generatedAt: string;
|
|
1177
|
-
appEnabled: boolean;
|
|
1178
|
-
relativeTime: LifeOpsRelativeTime | null;
|
|
1179
|
-
capabilities: LifeOpsCapabilityStatus[];
|
|
1180
|
-
summary: LifeOpsCapabilitiesSummary;
|
|
1181
|
-
}
|
|
1182
|
-
export interface LifeOpsOverviewSection {
|
|
1183
|
-
occurrences: LifeOpsOccurrenceView[];
|
|
1184
|
-
goals: LifeOpsGoalDefinition[];
|
|
1185
|
-
reminders: LifeOpsActiveReminderView[];
|
|
1186
|
-
summary: LifeOpsOverviewSummary;
|
|
1187
|
-
}
|
|
1188
|
-
export interface LifeOpsOverview {
|
|
1189
|
-
occurrences: LifeOpsOccurrenceView[];
|
|
1190
|
-
goals: LifeOpsGoalDefinition[];
|
|
1191
|
-
reminders: LifeOpsActiveReminderView[];
|
|
1192
|
-
summary: LifeOpsOverviewSummary;
|
|
1193
|
-
owner: LifeOpsOverviewSection;
|
|
1194
|
-
agentOps: LifeOpsOverviewSection;
|
|
1195
|
-
schedule: LifeOpsScheduleInsight | null;
|
|
1196
|
-
}
|
|
1197
|
-
export interface LifeOpsCalendarEventAttendee {
|
|
1198
|
-
email: string | null;
|
|
1199
|
-
displayName: string | null;
|
|
1200
|
-
responseStatus: string | null;
|
|
1201
|
-
self: boolean;
|
|
1202
|
-
organizer: boolean;
|
|
1203
|
-
optional: boolean;
|
|
1204
|
-
}
|
|
1205
|
-
export interface LifeOpsCalendarEvent {
|
|
1206
|
-
id: string;
|
|
1207
|
-
externalId: string;
|
|
1208
|
-
agentId: string;
|
|
1209
|
-
provider: "google";
|
|
1210
|
-
side: LifeOpsConnectorSide;
|
|
1211
|
-
calendarId: string;
|
|
1212
|
-
title: string;
|
|
1213
|
-
description: string;
|
|
1214
|
-
location: string;
|
|
1215
|
-
status: string;
|
|
1216
|
-
startAt: string;
|
|
1217
|
-
endAt: string;
|
|
1218
|
-
isAllDay: boolean;
|
|
1219
|
-
timezone: string | null;
|
|
1220
|
-
htmlLink: string | null;
|
|
1221
|
-
conferenceLink: string | null;
|
|
1222
|
-
organizer: Record<string, unknown> | null;
|
|
1223
|
-
attendees: LifeOpsCalendarEventAttendee[];
|
|
1224
|
-
metadata: Record<string, unknown>;
|
|
1225
|
-
syncedAt: string;
|
|
1226
|
-
updatedAt: string;
|
|
1227
|
-
/** Set on merged feeds so the UI can show which calendar an event came from. */
|
|
1228
|
-
calendarSummary?: string;
|
|
1229
|
-
/** LifeOps-owned account key for privacy egress; legacy cache rows may omit it until purge/resync. */
|
|
1230
|
-
connectorAccountId?: string;
|
|
1231
|
-
/** Google grant that owns this Gmail message cache row. */
|
|
1232
|
-
grantId?: string;
|
|
1233
|
-
/** Email address for the owning Google account when known. */
|
|
1234
|
-
accountEmail?: string;
|
|
1235
|
-
}
|
|
1236
|
-
export interface LifeOpsCalendarFeed {
|
|
1237
|
-
calendarId: string;
|
|
1238
|
-
events: LifeOpsCalendarEvent[];
|
|
1239
|
-
source: "cache" | "synced";
|
|
1240
|
-
timeMin: string;
|
|
1241
|
-
timeMax: string;
|
|
1242
|
-
syncedAt: string | null;
|
|
1243
|
-
}
|
|
1244
|
-
/**
|
|
1245
|
-
* Summary of one Google Calendar the user has access to (from calendarList.list).
|
|
1246
|
-
* `includeInFeed` reflects whether the user has opted this calendar into the
|
|
1247
|
-
* aggregated sidebar feed / briefing. Defaults to true for every calendar the
|
|
1248
|
-
* user can see — opt-out, never opt-in, so new calendars are not silently
|
|
1249
|
-
* hidden from the agent's picture of the user's life.
|
|
1250
|
-
*/
|
|
1251
|
-
export interface LifeOpsCalendarSummary {
|
|
1252
|
-
provider: "google";
|
|
1253
|
-
side: LifeOpsConnectorSide;
|
|
1254
|
-
grantId: string;
|
|
1255
|
-
accountEmail: string | null;
|
|
1256
|
-
calendarId: string;
|
|
1257
|
-
summary: string;
|
|
1258
|
-
description: string | null;
|
|
1259
|
-
primary: boolean;
|
|
1260
|
-
accessRole: string;
|
|
1261
|
-
backgroundColor: string | null;
|
|
1262
|
-
foregroundColor: string | null;
|
|
1263
|
-
timeZone: string | null;
|
|
1264
|
-
selected: boolean;
|
|
1265
|
-
includeInFeed: boolean;
|
|
1266
|
-
}
|
|
1267
|
-
export interface ListLifeOpsCalendarsRequest {
|
|
1268
|
-
side?: LifeOpsConnectorSide;
|
|
1269
|
-
mode?: LifeOpsConnectorMode;
|
|
1270
|
-
grantId?: string;
|
|
1271
|
-
}
|
|
1272
|
-
export interface ListLifeOpsCalendarsResponse {
|
|
1273
|
-
calendars: LifeOpsCalendarSummary[];
|
|
1274
|
-
}
|
|
1275
|
-
export interface SetLifeOpsCalendarIncludedRequest {
|
|
1276
|
-
calendarId: string;
|
|
1277
|
-
includeInFeed: boolean;
|
|
1278
|
-
side?: LifeOpsConnectorSide;
|
|
1279
|
-
mode?: LifeOpsConnectorMode;
|
|
1280
|
-
grantId?: string;
|
|
1281
|
-
}
|
|
1282
|
-
export interface SetLifeOpsCalendarIncludedResponse {
|
|
1283
|
-
calendar: LifeOpsCalendarSummary;
|
|
1284
|
-
}
|
|
1285
|
-
export interface GetLifeOpsCalendarFeedRequest {
|
|
1286
|
-
side?: LifeOpsConnectorSide;
|
|
1287
|
-
mode?: LifeOpsConnectorMode;
|
|
1288
|
-
/** Target a specific Google account by grant ID (multi-account). */
|
|
1289
|
-
grantId?: string;
|
|
1290
|
-
calendarId?: string;
|
|
1291
|
-
/**
|
|
1292
|
-
* Internal/agent override: when no calendarId is specified, include every
|
|
1293
|
-
* authorized calendar instead of only the user's feed-enabled subset.
|
|
1294
|
-
*/
|
|
1295
|
-
includeHiddenCalendars?: boolean;
|
|
1296
|
-
timeMin?: string;
|
|
1297
|
-
timeMax?: string;
|
|
1298
|
-
timeZone?: string;
|
|
1299
|
-
forceSync?: boolean;
|
|
1300
|
-
}
|
|
1301
|
-
export interface LifeOpsGmailMessageSummary {
|
|
1302
|
-
id: string;
|
|
1303
|
-
externalId: string;
|
|
1304
|
-
agentId: string;
|
|
1305
|
-
provider: "google";
|
|
1306
|
-
side: LifeOpsConnectorSide;
|
|
1307
|
-
threadId: string;
|
|
1308
|
-
subject: string;
|
|
1309
|
-
from: string;
|
|
1310
|
-
fromEmail: string | null;
|
|
1311
|
-
replyTo: string | null;
|
|
1312
|
-
to: string[];
|
|
1313
|
-
cc: string[];
|
|
1314
|
-
snippet: string;
|
|
1315
|
-
receivedAt: string;
|
|
1316
|
-
isUnread: boolean;
|
|
1317
|
-
isImportant: boolean;
|
|
1318
|
-
likelyReplyNeeded: boolean;
|
|
1319
|
-
triageScore: number;
|
|
1320
|
-
triageReason: string;
|
|
1321
|
-
labels: string[];
|
|
1322
|
-
htmlLink: string | null;
|
|
1323
|
-
metadata: Record<string, unknown>;
|
|
1324
|
-
syncedAt: string;
|
|
1325
|
-
updatedAt: string;
|
|
1326
|
-
/** LifeOps-owned account key for privacy egress; legacy cache rows may omit it until purge/resync. */
|
|
1327
|
-
connectorAccountId?: string;
|
|
1328
|
-
/** Set when aggregating across multiple Google accounts. */
|
|
1329
|
-
grantId?: string;
|
|
1330
|
-
/** Set when aggregating across multiple Google accounts. */
|
|
1331
|
-
accountEmail?: string;
|
|
1332
|
-
}
|
|
1333
|
-
export interface LifeOpsGmailTriageSummary {
|
|
1334
|
-
unreadCount: number;
|
|
1335
|
-
importantNewCount: number;
|
|
1336
|
-
likelyReplyNeededCount: number;
|
|
1337
|
-
}
|
|
1338
|
-
export interface LifeOpsGmailTriageFeed {
|
|
1339
|
-
messages: LifeOpsGmailMessageSummary[];
|
|
1340
|
-
source: "cache" | "synced";
|
|
1341
|
-
syncedAt: string | null;
|
|
1342
|
-
summary: LifeOpsGmailTriageSummary;
|
|
1343
|
-
}
|
|
1344
|
-
export interface LifeOpsGmailNeedsResponseSummary {
|
|
1345
|
-
totalCount: number;
|
|
1346
|
-
unreadCount: number;
|
|
1347
|
-
importantCount: number;
|
|
1348
|
-
}
|
|
1349
|
-
export interface LifeOpsGmailNeedsResponseFeed {
|
|
1350
|
-
messages: LifeOpsGmailMessageSummary[];
|
|
1351
|
-
source: "cache" | "synced";
|
|
1352
|
-
syncedAt: string | null;
|
|
1353
|
-
summary: LifeOpsGmailNeedsResponseSummary;
|
|
1354
|
-
}
|
|
1355
|
-
export interface GetLifeOpsGmailTriageRequest {
|
|
1356
|
-
side?: LifeOpsConnectorSide;
|
|
1357
|
-
mode?: LifeOpsConnectorMode;
|
|
1358
|
-
/** Target a specific Google account by grant ID (multi-account). */
|
|
1359
|
-
grantId?: string;
|
|
1360
|
-
forceSync?: boolean;
|
|
1361
|
-
maxResults?: number;
|
|
1362
|
-
}
|
|
1363
|
-
export interface GetLifeOpsGmailSearchRequest {
|
|
1364
|
-
side?: LifeOpsConnectorSide;
|
|
1365
|
-
mode?: LifeOpsConnectorMode;
|
|
1366
|
-
forceSync?: boolean;
|
|
1367
|
-
maxResults?: number;
|
|
1368
|
-
query: string;
|
|
1369
|
-
replyNeededOnly?: boolean;
|
|
1370
|
-
includeSpamTrash?: boolean;
|
|
1371
|
-
grantId?: string;
|
|
1372
|
-
}
|
|
1373
|
-
export interface LifeOpsGmailSearchSummary {
|
|
1374
|
-
totalCount: number;
|
|
1375
|
-
unreadCount: number;
|
|
1376
|
-
importantCount: number;
|
|
1377
|
-
replyNeededCount: number;
|
|
1378
|
-
}
|
|
1379
|
-
export interface LifeOpsGmailSearchFeed {
|
|
1380
|
-
query: string;
|
|
1381
|
-
messages: LifeOpsGmailMessageSummary[];
|
|
1382
|
-
source: "cache" | "synced";
|
|
1383
|
-
syncedAt: string | null;
|
|
1384
|
-
summary: LifeOpsGmailSearchSummary;
|
|
1385
|
-
}
|
|
1386
|
-
export declare const LIFEOPS_GMAIL_RECOMMENDATION_KINDS: readonly ["reply", "archive", "mark_read", "review_spam"];
|
|
1387
|
-
export type LifeOpsGmailRecommendationKind = (typeof LIFEOPS_GMAIL_RECOMMENDATION_KINDS)[number];
|
|
1388
|
-
export declare const LIFEOPS_GMAIL_BULK_OPERATIONS: readonly ["archive", "trash", "delete", "report_spam", "mark_read", "mark_unread", "apply_label", "remove_label"];
|
|
1389
|
-
export type LifeOpsGmailBulkOperation = (typeof LIFEOPS_GMAIL_BULK_OPERATIONS)[number];
|
|
1390
|
-
export declare const LIFEOPS_GMAIL_MANAGE_EXECUTION_MODES: readonly ["proposal", "dry_run", "execute"];
|
|
1391
|
-
export type LifeOpsGmailManageExecutionMode = (typeof LIFEOPS_GMAIL_MANAGE_EXECUTION_MODES)[number];
|
|
1392
|
-
export declare const LIFEOPS_GMAIL_MANAGE_STATUSES: readonly ["proposed", "dry_run", "approved", "executed", "partial", "failed", "cancelled"];
|
|
1393
|
-
export type LifeOpsGmailManageStatus = (typeof LIFEOPS_GMAIL_MANAGE_STATUSES)[number];
|
|
1394
|
-
export declare const LIFEOPS_GMAIL_MANAGE_UNDO_STATUSES: readonly ["not_available", "available", "completed", "expired", "failed"];
|
|
1395
|
-
export type LifeOpsGmailManageUndoStatus = (typeof LIFEOPS_GMAIL_MANAGE_UNDO_STATUSES)[number];
|
|
1396
|
-
export interface LifeOpsGmailManageApprovalIdentity {
|
|
1397
|
-
proposalId?: string;
|
|
1398
|
-
approvalId?: string;
|
|
1399
|
-
proposedBy?: LifeOpsActor;
|
|
1400
|
-
approvedBy?: LifeOpsActor;
|
|
1401
|
-
approvedAt?: string;
|
|
1402
|
-
}
|
|
1403
|
-
export interface LifeOpsGmailManagePlanIdentity {
|
|
1404
|
-
planId?: string;
|
|
1405
|
-
planHash?: string;
|
|
1406
|
-
idempotencyKey?: string;
|
|
1407
|
-
}
|
|
1408
|
-
export interface LifeOpsGmailManageMessageSnapshot {
|
|
1409
|
-
messageId: string;
|
|
1410
|
-
externalId: string;
|
|
1411
|
-
threadId: string;
|
|
1412
|
-
subject: string;
|
|
1413
|
-
from: string;
|
|
1414
|
-
fromEmail: string | null;
|
|
1415
|
-
receivedAt: string;
|
|
1416
|
-
snippet: string;
|
|
1417
|
-
labels: string[];
|
|
1418
|
-
grantId?: string;
|
|
1419
|
-
accountEmail?: string;
|
|
1420
|
-
syncedAt?: string;
|
|
1421
|
-
snapshotHash?: string;
|
|
1422
|
-
}
|
|
1423
|
-
export interface LifeOpsGmailManageChunkRequest {
|
|
1424
|
-
chunkId: string;
|
|
1425
|
-
chunkIndex: number;
|
|
1426
|
-
chunkCount: number;
|
|
1427
|
-
messageIds?: string[];
|
|
1428
|
-
cursor?: string;
|
|
1429
|
-
}
|
|
1430
|
-
export interface LifeOpsGmailManageChunkStatus {
|
|
1431
|
-
chunkId: string;
|
|
1432
|
-
chunkIndex: number;
|
|
1433
|
-
chunkCount: number;
|
|
1434
|
-
processedCount: number;
|
|
1435
|
-
remainingCount: number;
|
|
1436
|
-
nextCursor: string | null;
|
|
1437
|
-
}
|
|
1438
|
-
export interface LifeOpsGmailManageAuditContext {
|
|
1439
|
-
auditEventId?: string;
|
|
1440
|
-
auditRef?: string;
|
|
1441
|
-
parentAuditEventId?: string;
|
|
1442
|
-
actor?: LifeOpsActor;
|
|
1443
|
-
}
|
|
1444
|
-
export interface LifeOpsGmailManageAuditState {
|
|
1445
|
-
auditEventId: string | null;
|
|
1446
|
-
auditRef: string | null;
|
|
1447
|
-
actor: LifeOpsActor;
|
|
1448
|
-
recordedAt: string | null;
|
|
1449
|
-
}
|
|
1450
|
-
export interface LifeOpsGmailManageUndoRequest {
|
|
1451
|
-
undoId: string;
|
|
1452
|
-
auditEventId?: string;
|
|
1453
|
-
reason?: string;
|
|
1454
|
-
}
|
|
1455
|
-
export interface LifeOpsGmailManageUndoState {
|
|
1456
|
-
status: LifeOpsGmailManageUndoStatus;
|
|
1457
|
-
undoId: string | null;
|
|
1458
|
-
undoExpiresAt: string | null;
|
|
1459
|
-
auditEventId: string | null;
|
|
1460
|
-
messageIds: string[];
|
|
1461
|
-
}
|
|
1462
|
-
export interface ManageLifeOpsGmailMessagesRequest {
|
|
1463
|
-
side?: LifeOpsConnectorSide;
|
|
1464
|
-
mode?: LifeOpsConnectorMode;
|
|
1465
|
-
grantId?: string;
|
|
1466
|
-
operation: LifeOpsGmailBulkOperation;
|
|
1467
|
-
messageIds?: string[];
|
|
1468
|
-
query?: string;
|
|
1469
|
-
maxResults?: number;
|
|
1470
|
-
labelIds?: string[];
|
|
1471
|
-
confirmDestructive?: boolean;
|
|
1472
|
-
executionMode?: LifeOpsGmailManageExecutionMode;
|
|
1473
|
-
reason?: string;
|
|
1474
|
-
approval?: LifeOpsGmailManageApprovalIdentity;
|
|
1475
|
-
plan?: LifeOpsGmailManagePlanIdentity;
|
|
1476
|
-
selectedMessageSnapshots?: LifeOpsGmailManageMessageSnapshot[];
|
|
1477
|
-
chunk?: LifeOpsGmailManageChunkRequest;
|
|
1478
|
-
audit?: LifeOpsGmailManageAuditContext;
|
|
1479
|
-
undo?: LifeOpsGmailManageUndoRequest;
|
|
1480
|
-
}
|
|
1481
|
-
export interface LifeOpsGmailManageResult {
|
|
1482
|
-
ok: true;
|
|
1483
|
-
operation: LifeOpsGmailBulkOperation;
|
|
1484
|
-
messageIds: string[];
|
|
1485
|
-
affectedCount: number;
|
|
1486
|
-
labelIds: string[];
|
|
1487
|
-
destructive: boolean;
|
|
1488
|
-
grantId?: string;
|
|
1489
|
-
accountEmail?: string;
|
|
1490
|
-
executionMode?: LifeOpsGmailManageExecutionMode;
|
|
1491
|
-
status?: LifeOpsGmailManageStatus;
|
|
1492
|
-
reason?: string;
|
|
1493
|
-
approval?: LifeOpsGmailManageApprovalIdentity;
|
|
1494
|
-
plan?: LifeOpsGmailManagePlanIdentity;
|
|
1495
|
-
selectedMessageSnapshots?: LifeOpsGmailManageMessageSnapshot[];
|
|
1496
|
-
chunk?: LifeOpsGmailManageChunkStatus;
|
|
1497
|
-
audit?: LifeOpsGmailManageAuditState;
|
|
1498
|
-
undo?: LifeOpsGmailManageUndoState;
|
|
1499
|
-
}
|
|
1500
|
-
export interface LifeOpsGmailRecommendationMessage {
|
|
1501
|
-
messageId: string;
|
|
1502
|
-
subject: string;
|
|
1503
|
-
from: string;
|
|
1504
|
-
fromEmail: string | null;
|
|
1505
|
-
receivedAt: string;
|
|
1506
|
-
snippet: string;
|
|
1507
|
-
labels: string[];
|
|
1508
|
-
}
|
|
1509
|
-
export interface LifeOpsGmailRecommendation {
|
|
1510
|
-
id: string;
|
|
1511
|
-
kind: LifeOpsGmailRecommendationKind;
|
|
1512
|
-
title: string;
|
|
1513
|
-
rationale: string;
|
|
1514
|
-
operation: LifeOpsGmailBulkOperation | null;
|
|
1515
|
-
messageIds: string[];
|
|
1516
|
-
query: string | null;
|
|
1517
|
-
labelIds: string[];
|
|
1518
|
-
affectedCount: number;
|
|
1519
|
-
destructive: boolean;
|
|
1520
|
-
requiresConfirmation: boolean;
|
|
1521
|
-
confidence: number;
|
|
1522
|
-
sampleMessages: LifeOpsGmailRecommendationMessage[];
|
|
1523
|
-
}
|
|
1524
|
-
export interface LifeOpsGmailRecommendationsSummary {
|
|
1525
|
-
totalCount: number;
|
|
1526
|
-
replyCount: number;
|
|
1527
|
-
archiveCount: number;
|
|
1528
|
-
markReadCount: number;
|
|
1529
|
-
spamReviewCount: number;
|
|
1530
|
-
destructiveCount: number;
|
|
1531
|
-
}
|
|
1532
|
-
export interface LifeOpsGmailRecommendationsFeed {
|
|
1533
|
-
recommendations: LifeOpsGmailRecommendation[];
|
|
1534
|
-
source: "cache" | "synced";
|
|
1535
|
-
syncedAt: string | null;
|
|
1536
|
-
summary: LifeOpsGmailRecommendationsSummary;
|
|
1537
|
-
}
|
|
1538
|
-
export interface GetLifeOpsGmailRecommendationsRequest {
|
|
1539
|
-
side?: LifeOpsConnectorSide;
|
|
1540
|
-
mode?: LifeOpsConnectorMode;
|
|
1541
|
-
grantId?: string;
|
|
1542
|
-
forceSync?: boolean;
|
|
1543
|
-
maxResults?: number;
|
|
1544
|
-
query?: string;
|
|
1545
|
-
replyNeededOnly?: boolean;
|
|
1546
|
-
includeSpamTrash?: boolean;
|
|
1547
|
-
}
|
|
1548
|
-
export declare const LIFEOPS_GMAIL_SPAM_REVIEW_STATUSES: readonly ["pending", "confirmed_spam", "not_spam", "dismissed"];
|
|
1549
|
-
export type LifeOpsGmailSpamReviewStatus = (typeof LIFEOPS_GMAIL_SPAM_REVIEW_STATUSES)[number];
|
|
1550
|
-
export interface LifeOpsGmailSpamReviewItem {
|
|
1551
|
-
id: string;
|
|
1552
|
-
agentId: string;
|
|
1553
|
-
provider: "google";
|
|
1554
|
-
side: LifeOpsConnectorSide;
|
|
1555
|
-
grantId: string;
|
|
1556
|
-
accountEmail: string | null;
|
|
1557
|
-
messageId: string;
|
|
1558
|
-
externalMessageId: string;
|
|
1559
|
-
threadId: string;
|
|
1560
|
-
subject: string;
|
|
1561
|
-
from: string;
|
|
1562
|
-
fromEmail: string | null;
|
|
1563
|
-
receivedAt: string;
|
|
1564
|
-
snippet: string;
|
|
1565
|
-
labels: string[];
|
|
1566
|
-
rationale: string;
|
|
1567
|
-
confidence: number;
|
|
1568
|
-
status: LifeOpsGmailSpamReviewStatus;
|
|
1569
|
-
createdAt: string;
|
|
1570
|
-
updatedAt: string;
|
|
1571
|
-
reviewedAt: string | null;
|
|
1572
|
-
}
|
|
1573
|
-
export interface LifeOpsGmailSpamReviewSummary {
|
|
1574
|
-
totalCount: number;
|
|
1575
|
-
pendingCount: number;
|
|
1576
|
-
confirmedSpamCount: number;
|
|
1577
|
-
notSpamCount: number;
|
|
1578
|
-
dismissedCount: number;
|
|
1579
|
-
}
|
|
1580
|
-
export interface LifeOpsGmailSpamReviewFeed {
|
|
1581
|
-
items: LifeOpsGmailSpamReviewItem[];
|
|
1582
|
-
summary: LifeOpsGmailSpamReviewSummary;
|
|
1583
|
-
}
|
|
1584
|
-
export interface GetLifeOpsGmailSpamReviewRequest {
|
|
1585
|
-
side?: LifeOpsConnectorSide;
|
|
1586
|
-
mode?: LifeOpsConnectorMode;
|
|
1587
|
-
grantId?: string;
|
|
1588
|
-
status?: LifeOpsGmailSpamReviewStatus;
|
|
1589
|
-
maxResults?: number;
|
|
1590
|
-
}
|
|
1591
|
-
export interface UpdateLifeOpsGmailSpamReviewItemRequest {
|
|
1592
|
-
status: LifeOpsGmailSpamReviewStatus;
|
|
1593
|
-
}
|
|
1594
|
-
export interface LifeOpsGmailUnrespondedThread {
|
|
1595
|
-
threadId: string;
|
|
1596
|
-
messageId: string;
|
|
1597
|
-
subject: string;
|
|
1598
|
-
to: string[];
|
|
1599
|
-
cc: string[];
|
|
1600
|
-
lastOutboundAt: string;
|
|
1601
|
-
lastInboundAt: string | null;
|
|
1602
|
-
daysWaiting: number;
|
|
1603
|
-
snippet: string;
|
|
1604
|
-
labels: string[];
|
|
1605
|
-
htmlLink: string | null;
|
|
1606
|
-
grantId?: string;
|
|
1607
|
-
accountEmail?: string;
|
|
1608
|
-
}
|
|
1609
|
-
export interface LifeOpsGmailUnrespondedSummary {
|
|
1610
|
-
totalCount: number;
|
|
1611
|
-
oldestDaysWaiting: number | null;
|
|
1612
|
-
}
|
|
1613
|
-
export interface LifeOpsGmailUnrespondedFeed {
|
|
1614
|
-
threads: LifeOpsGmailUnrespondedThread[];
|
|
1615
|
-
source: "synced";
|
|
1616
|
-
syncedAt: string;
|
|
1617
|
-
summary: LifeOpsGmailUnrespondedSummary;
|
|
1618
|
-
}
|
|
1619
|
-
export interface GetLifeOpsGmailUnrespondedRequest {
|
|
1620
|
-
side?: LifeOpsConnectorSide;
|
|
1621
|
-
mode?: LifeOpsConnectorMode;
|
|
1622
|
-
grantId?: string;
|
|
1623
|
-
olderThanDays?: number;
|
|
1624
|
-
maxResults?: number;
|
|
1625
|
-
}
|
|
1626
|
-
export interface IngestLifeOpsGmailEventRequest {
|
|
1627
|
-
side?: LifeOpsConnectorSide;
|
|
1628
|
-
mode?: LifeOpsConnectorMode;
|
|
1629
|
-
grantId?: string;
|
|
1630
|
-
messageId: string;
|
|
1631
|
-
eventKind?: "gmail.message.received" | "gmail.thread.needs_response";
|
|
1632
|
-
occurredAt?: string;
|
|
1633
|
-
maxWorkflowRuns?: number;
|
|
1634
|
-
}
|
|
1635
|
-
export interface LifeOpsGmailEventIngestResult {
|
|
1636
|
-
ok: true;
|
|
1637
|
-
event: {
|
|
1638
|
-
id: string;
|
|
1639
|
-
kind: "gmail.message.received" | "gmail.thread.needs_response";
|
|
1640
|
-
occurredAt: string;
|
|
1641
|
-
payload: Record<string, unknown>;
|
|
1642
|
-
};
|
|
1643
|
-
workflowRunIds: string[];
|
|
1644
|
-
}
|
|
1645
|
-
export declare const LIFEOPS_GMAIL_DRAFT_TONES: readonly ["brief", "neutral", "warm"];
|
|
1646
|
-
export type LifeOpsGmailDraftTone = (typeof LIFEOPS_GMAIL_DRAFT_TONES)[number];
|
|
1647
|
-
export interface CreateLifeOpsGmailReplyDraftRequest {
|
|
1648
|
-
side?: LifeOpsConnectorSide;
|
|
1649
|
-
mode?: LifeOpsConnectorMode;
|
|
1650
|
-
messageId: string;
|
|
1651
|
-
grantId?: string;
|
|
1652
|
-
tone?: LifeOpsGmailDraftTone;
|
|
1653
|
-
intent?: string;
|
|
1654
|
-
includeQuotedOriginal?: boolean;
|
|
1655
|
-
conversationContext?: string[];
|
|
1656
|
-
actionHistory?: string[];
|
|
1657
|
-
trajectorySummary?: string | null;
|
|
1658
|
-
}
|
|
1659
|
-
export interface LifeOpsGmailReplyDraft {
|
|
1660
|
-
messageId: string;
|
|
1661
|
-
threadId: string;
|
|
1662
|
-
subject: string;
|
|
1663
|
-
to: string[];
|
|
1664
|
-
cc: string[];
|
|
1665
|
-
bodyText: string;
|
|
1666
|
-
previewLines: string[];
|
|
1667
|
-
sendAllowed: boolean;
|
|
1668
|
-
requiresConfirmation: boolean;
|
|
1669
|
-
}
|
|
1670
|
-
export interface CreateLifeOpsGmailBatchReplyDraftsRequest {
|
|
1671
|
-
side?: LifeOpsConnectorSide;
|
|
1672
|
-
mode?: LifeOpsConnectorMode;
|
|
1673
|
-
grantId?: string;
|
|
1674
|
-
forceSync?: boolean;
|
|
1675
|
-
maxResults?: number;
|
|
1676
|
-
query?: string;
|
|
1677
|
-
messageIds?: string[];
|
|
1678
|
-
tone?: LifeOpsGmailDraftTone;
|
|
1679
|
-
intent?: string;
|
|
1680
|
-
includeQuotedOriginal?: boolean;
|
|
1681
|
-
replyNeededOnly?: boolean;
|
|
1682
|
-
conversationContext?: string[];
|
|
1683
|
-
actionHistory?: string[];
|
|
1684
|
-
trajectorySummary?: string | null;
|
|
1685
|
-
}
|
|
1686
|
-
export interface LifeOpsGmailBatchReplyDraftsSummary {
|
|
1687
|
-
totalCount: number;
|
|
1688
|
-
sendAllowedCount: number;
|
|
1689
|
-
requiresConfirmationCount: number;
|
|
1690
|
-
}
|
|
1691
|
-
export interface LifeOpsGmailBatchReplyDraftsFeed {
|
|
1692
|
-
query: string | null;
|
|
1693
|
-
messages: LifeOpsGmailMessageSummary[];
|
|
1694
|
-
drafts: LifeOpsGmailReplyDraft[];
|
|
1695
|
-
source: "cache" | "synced";
|
|
1696
|
-
syncedAt: string | null;
|
|
1697
|
-
summary: LifeOpsGmailBatchReplyDraftsSummary;
|
|
1698
|
-
}
|
|
1699
|
-
export interface SendLifeOpsGmailReplyRequest {
|
|
1700
|
-
side?: LifeOpsConnectorSide;
|
|
1701
|
-
mode?: LifeOpsConnectorMode;
|
|
1702
|
-
grantId?: string;
|
|
1703
|
-
messageId: string;
|
|
1704
|
-
bodyText: string;
|
|
1705
|
-
subject?: string;
|
|
1706
|
-
to?: string[];
|
|
1707
|
-
cc?: string[];
|
|
1708
|
-
confirmSend?: boolean;
|
|
1709
|
-
}
|
|
1710
|
-
export interface SendLifeOpsGmailMessageRequest {
|
|
1711
|
-
side?: LifeOpsConnectorSide;
|
|
1712
|
-
mode?: LifeOpsConnectorMode;
|
|
1713
|
-
grantId?: string;
|
|
1714
|
-
to: string[];
|
|
1715
|
-
cc?: string[];
|
|
1716
|
-
bcc?: string[];
|
|
1717
|
-
subject: string;
|
|
1718
|
-
bodyText: string;
|
|
1719
|
-
confirmSend?: boolean;
|
|
1720
|
-
}
|
|
1721
|
-
export interface LifeOpsGmailBatchReplySendItem {
|
|
1722
|
-
messageId: string;
|
|
1723
|
-
bodyText: string;
|
|
1724
|
-
subject?: string;
|
|
1725
|
-
to?: string[];
|
|
1726
|
-
cc?: string[];
|
|
1727
|
-
}
|
|
1728
|
-
export interface SendLifeOpsGmailBatchReplyRequest {
|
|
1729
|
-
side?: LifeOpsConnectorSide;
|
|
1730
|
-
mode?: LifeOpsConnectorMode;
|
|
1731
|
-
grantId?: string;
|
|
1732
|
-
confirmSend?: boolean;
|
|
1733
|
-
items: LifeOpsGmailBatchReplySendItem[];
|
|
1734
|
-
}
|
|
1735
|
-
export interface LifeOpsGmailBatchReplySendResult {
|
|
1736
|
-
ok: true;
|
|
1737
|
-
sentCount: number;
|
|
1738
|
-
}
|
|
1739
|
-
export declare const LIFEOPS_CALENDAR_WINDOW_PRESETS: readonly ["tomorrow_morning", "tomorrow_afternoon", "tomorrow_evening"];
|
|
1740
|
-
export type LifeOpsCalendarWindowPreset = (typeof LIFEOPS_CALENDAR_WINDOW_PRESETS)[number];
|
|
1741
|
-
export interface CreateLifeOpsCalendarEventAttendee {
|
|
1742
|
-
email: string;
|
|
1743
|
-
displayName?: string;
|
|
1744
|
-
optional?: boolean;
|
|
1745
|
-
}
|
|
1746
|
-
export interface CreateLifeOpsCalendarEventRequest {
|
|
1747
|
-
side?: LifeOpsConnectorSide;
|
|
1748
|
-
mode?: LifeOpsConnectorMode;
|
|
1749
|
-
calendarId?: string;
|
|
1750
|
-
grantId?: string;
|
|
1751
|
-
title: string;
|
|
1752
|
-
description?: string;
|
|
1753
|
-
location?: string;
|
|
1754
|
-
startAt?: string;
|
|
1755
|
-
endAt?: string;
|
|
1756
|
-
timeZone?: string;
|
|
1757
|
-
durationMinutes?: number;
|
|
1758
|
-
windowPreset?: LifeOpsCalendarWindowPreset;
|
|
1759
|
-
attendees?: CreateLifeOpsCalendarEventAttendee[];
|
|
1760
|
-
}
|
|
1761
|
-
export interface LifeOpsNextCalendarEventContext {
|
|
1762
|
-
event: LifeOpsCalendarEvent | null;
|
|
1763
|
-
startsAt: string | null;
|
|
1764
|
-
startsInMinutes: number | null;
|
|
1765
|
-
attendeeCount: number;
|
|
1766
|
-
attendeeNames: string[];
|
|
1767
|
-
location: string | null;
|
|
1768
|
-
conferenceLink: string | null;
|
|
1769
|
-
preparationChecklist: string[];
|
|
1770
|
-
linkedMailState: "unavailable" | "cache" | "synced" | "error";
|
|
1771
|
-
linkedMailError: string | null;
|
|
1772
|
-
linkedMail: Array<Pick<LifeOpsGmailMessageSummary, "id" | "subject" | "from" | "receivedAt" | "snippet" | "htmlLink">>;
|
|
1773
|
-
}
|
|
1774
|
-
export interface LifeOpsCalendarEventUpdate {
|
|
1775
|
-
side?: LifeOpsConnectorSide;
|
|
1776
|
-
mode?: LifeOpsConnectorMode;
|
|
1777
|
-
grantId?: string;
|
|
1778
|
-
calendarId?: string;
|
|
1779
|
-
title?: string;
|
|
1780
|
-
startAt?: string;
|
|
1781
|
-
endAt?: string;
|
|
1782
|
-
timeZone?: string;
|
|
1783
|
-
notes?: string;
|
|
1784
|
-
location?: string;
|
|
1785
|
-
attendees?: CreateLifeOpsCalendarEventAttendee[];
|
|
1786
|
-
}
|
|
1787
|
-
export interface LifeOpsCalendarEventMutationResult {
|
|
1788
|
-
event: LifeOpsCalendarEvent;
|
|
1789
|
-
}
|
|
1790
|
-
export declare const LIFEOPS_INBOX_CHANNELS: readonly ["gmail", "x_dm", "discord", "telegram", "signal", "imessage", "whatsapp", "sms"];
|
|
1791
|
-
export type LifeOpsInboxChannel = (typeof LIFEOPS_INBOX_CHANNELS)[number];
|
|
1792
|
-
export interface LifeOpsInboxMessageSender {
|
|
1793
|
-
id: string;
|
|
1794
|
-
displayName: string;
|
|
1795
|
-
email: string | null;
|
|
1796
|
-
avatarUrl: string | null;
|
|
1797
|
-
}
|
|
1798
|
-
export interface LifeOpsInboxMessageSourceRef {
|
|
1799
|
-
channel: LifeOpsInboxChannel;
|
|
1800
|
-
externalId: string;
|
|
1801
|
-
}
|
|
1802
|
-
export interface LifeOpsInboxMessage {
|
|
1803
|
-
/** Channel-prefixed, globally unique identifier. */
|
|
1804
|
-
id: string;
|
|
1805
|
-
channel: LifeOpsInboxChannel;
|
|
1806
|
-
sender: LifeOpsInboxMessageSender;
|
|
1807
|
-
/** Gmail-style subject; `null` for chat channels. */
|
|
1808
|
-
subject: string | null;
|
|
1809
|
-
snippet: string;
|
|
1810
|
-
/** ISO-8601 timestamp. */
|
|
1811
|
-
receivedAt: string;
|
|
1812
|
-
unread: boolean;
|
|
1813
|
-
deepLink: string | null;
|
|
1814
|
-
sourceRef: LifeOpsInboxMessageSourceRef;
|
|
1815
|
-
/** Stable per-conversation key. For chat: roomId. For Gmail: thread id from sourceRef. */
|
|
1816
|
-
threadId?: string;
|
|
1817
|
-
/** Present on Gmail messages when multiple accounts exist; identifies which Google grant the message came from. */
|
|
1818
|
-
gmailAccountId?: string;
|
|
1819
|
-
/** LifeOps-owned account key for privacy egress. */
|
|
1820
|
-
connectorAccountId?: string;
|
|
1821
|
-
/** Display label for the Gmail account (e.g., `work@example.com`). */
|
|
1822
|
-
gmailAccountEmail?: string;
|
|
1823
|
-
/** ISO timestamp of when the user last viewed this thread (UI updates on open). */
|
|
1824
|
-
lastSeenAt?: string;
|
|
1825
|
-
/** ISO timestamp if the user has replied since this message arrived. */
|
|
1826
|
-
repliedAt?: string;
|
|
1827
|
-
/** 0–100 score; higher = more important. */
|
|
1828
|
-
priorityScore?: number;
|
|
1829
|
-
/** Coarse semantic category from the priority scorer. */
|
|
1830
|
-
priorityCategory?: "important" | "planning" | "casual";
|
|
1831
|
-
/** DM, small/medium group chat, or public channel/broadcast. */
|
|
1832
|
-
chatType?: "dm" | "group" | "channel";
|
|
1833
|
-
/** For groups, number of participants. UI uses this to hide groups with >15 participants. */
|
|
1834
|
-
participantCount?: number;
|
|
1835
|
-
}
|
|
1836
|
-
export interface LifeOpsInboxChannelCount {
|
|
1837
|
-
total: number;
|
|
1838
|
-
unread: number;
|
|
1839
|
-
}
|
|
1840
|
-
export interface LifeOpsInboxThreadGroup {
|
|
1841
|
-
/** Stable per-conversation key (matches LifeOpsInboxMessage.threadId on member messages) */
|
|
1842
|
-
threadId: string;
|
|
1843
|
-
/** Channel this thread belongs to */
|
|
1844
|
-
channel: LifeOpsInboxChannel;
|
|
1845
|
-
/** dm | group | channel */
|
|
1846
|
-
chatType: "dm" | "group" | "channel";
|
|
1847
|
-
/** Most recent message in the thread */
|
|
1848
|
-
latestMessage: LifeOpsInboxMessage;
|
|
1849
|
-
/** Total messages in the visible window */
|
|
1850
|
-
totalCount: number;
|
|
1851
|
-
/** Unread messages in the visible window */
|
|
1852
|
-
unreadCount: number;
|
|
1853
|
-
/** Group/DM participant count if known */
|
|
1854
|
-
participantCount?: number;
|
|
1855
|
-
/** Highest priority score across messages in the thread */
|
|
1856
|
-
maxPriorityScore?: number;
|
|
1857
|
-
/** Coarse semantic category from the priority scorer (mirrors latestMessage). */
|
|
1858
|
-
priorityCategory?: "important" | "planning" | "casual";
|
|
1859
|
-
/** Messages in this visible thread window, newest first. */
|
|
1860
|
-
messages: LifeOpsInboxMessage[];
|
|
1861
|
-
}
|
|
1862
|
-
export interface LifeOpsInbox {
|
|
1863
|
-
messages: LifeOpsInboxMessage[];
|
|
1864
|
-
channelCounts: Record<LifeOpsInboxChannel, LifeOpsInboxChannelCount>;
|
|
1865
|
-
fetchedAt: string;
|
|
1866
|
-
/** Populated when the caller requests grouped output via `groupByThread`. */
|
|
1867
|
-
threadGroups?: LifeOpsInboxThreadGroup[];
|
|
1868
|
-
}
|
|
1869
|
-
export declare const LIFEOPS_INBOX_CACHE_MODES: readonly ["read-through", "refresh", "cache-only"];
|
|
1870
|
-
export type LifeOpsInboxCacheMode = (typeof LIFEOPS_INBOX_CACHE_MODES)[number];
|
|
1871
|
-
export interface GetLifeOpsInboxRequest {
|
|
1872
|
-
/** Cap on the total number of messages returned. Defaults to 100. */
|
|
1873
|
-
limit?: number;
|
|
1874
|
-
/** If omitted, all connected channels are included. */
|
|
1875
|
-
channels?: LifeOpsInboxChannel[];
|
|
1876
|
-
/** When true, response includes `threadGroups`. */
|
|
1877
|
-
groupByThread?: boolean;
|
|
1878
|
-
/** Filter messages by chat type. */
|
|
1879
|
-
chatTypeFilter?: Array<"dm" | "group" | "channel">;
|
|
1880
|
-
/** Exclude groups with more than this many participants. */
|
|
1881
|
-
maxParticipants?: number;
|
|
1882
|
-
/** Filter to a specific Google grant. */
|
|
1883
|
-
gmailAccountId?: string;
|
|
1884
|
-
/**
|
|
1885
|
-
* When true, only return messages where the user has not replied for >24h
|
|
1886
|
-
* and the priority score is at least 50. Applies at both the message and
|
|
1887
|
-
* thread-group layer.
|
|
1888
|
-
*/
|
|
1889
|
-
missedOnly?: boolean;
|
|
1890
|
-
/**
|
|
1891
|
-
* When true, thread groups are sorted by max priority score desc, recency
|
|
1892
|
-
* tiebreaker. When false (default), groups are sorted by recency only.
|
|
1893
|
-
*/
|
|
1894
|
-
sortByPriority?: boolean;
|
|
1895
|
-
/**
|
|
1896
|
-
* read-through: use fresh cache, otherwise fetch and cache;
|
|
1897
|
-
* refresh: force a connector pull and cache the full requested window;
|
|
1898
|
-
* cache-only: never hit connectors, only read persisted inbox messages.
|
|
1899
|
-
*/
|
|
1900
|
-
cacheMode?: LifeOpsInboxCacheMode;
|
|
1901
|
-
/** Cap on messages pulled/read for cache operations. Defaults to a bounded full-cache window. */
|
|
1902
|
-
cacheLimit?: number;
|
|
1903
|
-
}
|
|
1904
|
-
export declare const LIFEOPS_GOOGLE_CONNECTOR_REASONS: readonly ["connected", "disconnected", "config_missing", "token_missing", "needs_reauth"];
|
|
1905
|
-
export type LifeOpsGoogleConnectorReason = (typeof LIFEOPS_GOOGLE_CONNECTOR_REASONS)[number];
|
|
1906
|
-
export interface LifeOpsGoogleConnectorStatus {
|
|
1907
|
-
provider: "google";
|
|
1908
|
-
side: LifeOpsConnectorSide;
|
|
1909
|
-
mode: LifeOpsConnectorMode;
|
|
1910
|
-
defaultMode: LifeOpsConnectorMode;
|
|
1911
|
-
availableModes: LifeOpsConnectorMode[];
|
|
1912
|
-
executionTarget: LifeOpsConnectorExecutionTarget;
|
|
1913
|
-
sourceOfTruth: LifeOpsConnectorSourceOfTruth;
|
|
1914
|
-
configured: boolean;
|
|
1915
|
-
connected: boolean;
|
|
1916
|
-
reason: LifeOpsGoogleConnectorReason;
|
|
1917
|
-
preferredByAgent: boolean;
|
|
1918
|
-
cloudConnectionId: string | null;
|
|
1919
|
-
identity: Record<string, unknown> | null;
|
|
1920
|
-
grantedCapabilities: LifeOpsGoogleCapability[];
|
|
1921
|
-
grantedScopes: string[];
|
|
1922
|
-
expiresAt: string | null;
|
|
1923
|
-
hasRefreshToken: boolean;
|
|
1924
|
-
grant: LifeOpsConnectorGrant | null;
|
|
1925
|
-
degradations?: LifeOpsConnectorDegradation[];
|
|
1926
|
-
}
|
|
1927
|
-
export interface LifeOpsXConnectorStatus {
|
|
1928
|
-
provider: "x";
|
|
1929
|
-
side?: LifeOpsConnectorSide;
|
|
1930
|
-
mode: LifeOpsConnectorMode;
|
|
1931
|
-
defaultMode?: LifeOpsConnectorMode;
|
|
1932
|
-
availableModes?: LifeOpsConnectorMode[];
|
|
1933
|
-
executionTarget?: LifeOpsConnectorExecutionTarget;
|
|
1934
|
-
sourceOfTruth?: LifeOpsConnectorSourceOfTruth;
|
|
1935
|
-
configured?: boolean;
|
|
1936
|
-
connected: boolean;
|
|
1937
|
-
reason?: "connected" | "disconnected" | "config_missing" | "needs_reauth";
|
|
1938
|
-
preferredByAgent?: boolean;
|
|
1939
|
-
cloudConnectionId?: string | null;
|
|
1940
|
-
grantedCapabilities: LifeOpsXCapability[];
|
|
1941
|
-
grantedScopes: string[];
|
|
1942
|
-
identity: Record<string, unknown> | null;
|
|
1943
|
-
hasCredentials: boolean;
|
|
1944
|
-
feedRead: boolean;
|
|
1945
|
-
feedWrite: boolean;
|
|
1946
|
-
dmRead: boolean;
|
|
1947
|
-
dmWrite: boolean;
|
|
1948
|
-
/**
|
|
1949
|
-
* DM inbound read is supported when `x.dm.read` capability is granted.
|
|
1950
|
-
* Use `syncXDms()` to pull and persist, then `getXDms()` or
|
|
1951
|
-
* `readXInboundDms()` to retrieve.
|
|
1952
|
-
*/
|
|
1953
|
-
dmInbound: boolean;
|
|
1954
|
-
grant: LifeOpsConnectorGrant | null;
|
|
1955
|
-
degradations?: LifeOpsConnectorDegradation[];
|
|
1956
|
-
}
|
|
1957
|
-
export declare const LIFEOPS_MESSAGING_CONNECTOR_REASONS: readonly ["connected", "disconnected", "pairing", "auth_pending", "auth_expired", "session_revoked"];
|
|
1958
|
-
export type LifeOpsMessagingConnectorReason = (typeof LIFEOPS_MESSAGING_CONNECTOR_REASONS)[number];
|
|
1959
|
-
export interface LifeOpsSignalConnectorStatus {
|
|
1960
|
-
provider: "signal";
|
|
1961
|
-
side: LifeOpsConnectorSide;
|
|
1962
|
-
connected: boolean;
|
|
1963
|
-
inbound: boolean;
|
|
1964
|
-
reason: LifeOpsMessagingConnectorReason;
|
|
1965
|
-
identity: {
|
|
1966
|
-
phoneNumber?: string;
|
|
1967
|
-
uuid?: string;
|
|
1968
|
-
deviceName?: string;
|
|
1969
|
-
} | null;
|
|
1970
|
-
grantedCapabilities: LifeOpsSignalCapability[];
|
|
1971
|
-
pairing: LifeOpsSignalPairingStatus | null;
|
|
1972
|
-
grant: LifeOpsConnectorGrant | null;
|
|
1973
|
-
degradations?: LifeOpsConnectorDegradation[];
|
|
1974
|
-
}
|
|
1975
|
-
export interface SendLifeOpsSignalMessageRequest {
|
|
1976
|
-
side?: LifeOpsConnectorSide;
|
|
1977
|
-
recipient: string;
|
|
1978
|
-
text: string;
|
|
1979
|
-
}
|
|
1980
|
-
export interface SendLifeOpsSignalMessageResponse {
|
|
1981
|
-
provider: "signal";
|
|
1982
|
-
side: LifeOpsConnectorSide;
|
|
1983
|
-
recipient: string;
|
|
1984
|
-
ok: true;
|
|
1985
|
-
timestamp: number;
|
|
1986
|
-
}
|
|
1987
|
-
/**
|
|
1988
|
-
* A single inbound Signal message as returned by {@link readSignalInbound} and
|
|
1989
|
-
* the signal-local-client reader.
|
|
1990
|
-
*/
|
|
1991
|
-
export interface LifeOpsSignalInboundMessage {
|
|
1992
|
-
/** Stable message ID (from the Signal service memory store or signal-cli). */
|
|
1993
|
-
id: string;
|
|
1994
|
-
/** elizaOS room ID this message was placed into. */
|
|
1995
|
-
roomId: string;
|
|
1996
|
-
/** Signal channel ID (typically the sender's phone number or group ID). */
|
|
1997
|
-
channelId: string;
|
|
1998
|
-
/** Stable per-conversation key used for reply routing. */
|
|
1999
|
-
threadId: string;
|
|
2000
|
-
/** Human-readable conversation name when known. */
|
|
2001
|
-
roomName: string;
|
|
2002
|
-
/** Display name of the sender. */
|
|
2003
|
-
speakerName: string;
|
|
2004
|
-
/** Sender phone number when signal-cli exposes one. */
|
|
2005
|
-
senderNumber: string | null;
|
|
2006
|
-
/** Sender UUID when signal-cli exposes one. */
|
|
2007
|
-
senderUuid: string | null;
|
|
2008
|
-
/** Sender device ID when signal-cli exposes one. */
|
|
2009
|
-
sourceDevice: number | null;
|
|
2010
|
-
/** Signal group ID for group messages. */
|
|
2011
|
-
groupId: string | null;
|
|
2012
|
-
/** Signal group event/type when signal-cli exposes one. */
|
|
2013
|
-
groupType: string | null;
|
|
2014
|
-
/** Plain-text body of the message. */
|
|
2015
|
-
text: string;
|
|
2016
|
-
/** Unix millisecond timestamp of the message. */
|
|
2017
|
-
createdAt: number;
|
|
2018
|
-
/** True when the message was sent by a contact (not by the agent's account). */
|
|
2019
|
-
isInbound: boolean;
|
|
2020
|
-
/** True when the message was received in a group conversation. */
|
|
2021
|
-
isGroup: boolean;
|
|
2022
|
-
}
|
|
2023
|
-
export interface GetLifeOpsSignalMessagesRequest {
|
|
2024
|
-
limit?: number;
|
|
2025
|
-
}
|
|
2026
|
-
export interface GetLifeOpsSignalMessagesResponse {
|
|
2027
|
-
count: number;
|
|
2028
|
-
messages: LifeOpsSignalInboundMessage[];
|
|
2029
|
-
}
|
|
2030
|
-
export interface LifeOpsDiscordDmPreview {
|
|
2031
|
-
channelId: string | null;
|
|
2032
|
-
href: string | null;
|
|
2033
|
-
label: string;
|
|
2034
|
-
selected: boolean;
|
|
2035
|
-
unread: boolean;
|
|
2036
|
-
snippet: string | null;
|
|
2037
|
-
}
|
|
2038
|
-
export interface LifeOpsDiscordDmInboxStatus {
|
|
2039
|
-
visible: boolean;
|
|
2040
|
-
count: number;
|
|
2041
|
-
selectedChannelId: string | null;
|
|
2042
|
-
previews: LifeOpsDiscordDmPreview[];
|
|
2043
|
-
}
|
|
2044
|
-
export declare const LIFEOPS_OWNER_BROWSER_ACCESS_SOURCES: readonly ["lifeops_browser", "desktop_browser", "discord_desktop"];
|
|
2045
|
-
export type LifeOpsOwnerBrowserAccessSource = (typeof LIFEOPS_OWNER_BROWSER_ACCESS_SOURCES)[number];
|
|
2046
|
-
export declare const LIFEOPS_OWNER_BROWSER_TAB_STATES: readonly ["missing", "background_discord", "discord_open", "dm_inbox_visible"];
|
|
2047
|
-
export type LifeOpsOwnerBrowserTabState = (typeof LIFEOPS_OWNER_BROWSER_TAB_STATES)[number];
|
|
2048
|
-
export declare const LIFEOPS_OWNER_BROWSER_AUTH_STATES: readonly ["unknown", "logged_out", "logged_in"];
|
|
2049
|
-
export type LifeOpsOwnerBrowserAuthState = (typeof LIFEOPS_OWNER_BROWSER_AUTH_STATES)[number];
|
|
2050
|
-
export declare const LIFEOPS_OWNER_BROWSER_NEXT_ACTIONS: readonly ["none", "connect_browser", "open_extension_popup", "enable_browser_access", "enable_browser_control", "open_discord", "open_dm_inbox", "focus_discord_manually", "focus_dm_inbox_manually", "log_in", "open_desktop_browser", "relaunch_discord"];
|
|
2051
|
-
export type LifeOpsOwnerBrowserNextAction = (typeof LIFEOPS_OWNER_BROWSER_NEXT_ACTIONS)[number];
|
|
2052
|
-
export interface LifeOpsOwnerBrowserAccessStatus {
|
|
2053
|
-
source: LifeOpsOwnerBrowserAccessSource;
|
|
2054
|
-
active: boolean;
|
|
2055
|
-
available: boolean;
|
|
2056
|
-
browser: LifeOpsBrowserKind | null;
|
|
2057
|
-
profileId: string | null;
|
|
2058
|
-
profileLabel: string | null;
|
|
2059
|
-
companionId: string | null;
|
|
2060
|
-
companionLabel: string | null;
|
|
2061
|
-
canControl: boolean;
|
|
2062
|
-
siteAccessOk: boolean | null;
|
|
2063
|
-
currentUrl: string | null;
|
|
2064
|
-
tabState: LifeOpsOwnerBrowserTabState;
|
|
2065
|
-
authState: LifeOpsOwnerBrowserAuthState;
|
|
2066
|
-
nextAction: LifeOpsOwnerBrowserNextAction;
|
|
2067
|
-
}
|
|
2068
|
-
export interface LifeOpsDiscordConnectorStatus {
|
|
2069
|
-
provider: "discord";
|
|
2070
|
-
side: LifeOpsConnectorSide;
|
|
2071
|
-
/** A LifeOps browser path is available via the browser companion or the desktop browser workspace. */
|
|
2072
|
-
available: boolean;
|
|
2073
|
-
/** A logged-in Discord session was detected from the active browser path. */
|
|
2074
|
-
connected: boolean;
|
|
2075
|
-
reason: LifeOpsMessagingConnectorReason;
|
|
2076
|
-
identity: {
|
|
2077
|
-
id?: string;
|
|
2078
|
-
username?: string;
|
|
2079
|
-
discriminator?: string;
|
|
2080
|
-
email?: string;
|
|
2081
|
-
} | null;
|
|
2082
|
-
/** Whether the owner's DM inbox is visible inside the Discord tab right now. */
|
|
2083
|
-
dmInbox: LifeOpsDiscordDmInboxStatus;
|
|
2084
|
-
grantedCapabilities: LifeOpsDiscordCapability[];
|
|
2085
|
-
lastError: string | null;
|
|
2086
|
-
/** Browser Workspace tab hosting Discord, when that desktop path is in use. */
|
|
2087
|
-
tabId: string | null;
|
|
2088
|
-
/** Owner-side browser options for reaching the user's real Discord session. */
|
|
2089
|
-
browserAccess?: LifeOpsOwnerBrowserAccessStatus[];
|
|
2090
|
-
grant: LifeOpsConnectorGrant | null;
|
|
2091
|
-
degradations?: LifeOpsConnectorDegradation[];
|
|
2092
|
-
}
|
|
2093
|
-
export declare const LIFEOPS_TELEGRAM_AUTH_STATES: readonly ["idle", "waiting_for_provisioning_code", "waiting_for_code", "waiting_for_password", "connected", "error"];
|
|
2094
|
-
export type LifeOpsTelegramAuthState = (typeof LIFEOPS_TELEGRAM_AUTH_STATES)[number];
|
|
2095
|
-
export interface LifeOpsWhatsAppConnectorStatus {
|
|
2096
|
-
provider: "whatsapp";
|
|
2097
|
-
/**
|
|
2098
|
-
* `connected` means at least one WhatsApp transport is live enough for
|
|
2099
|
-
* inbound or outbound work. A local auth file by itself is not connected until
|
|
2100
|
-
* the Baileys runtime service is actually online.
|
|
2101
|
-
*/
|
|
2102
|
-
connected: boolean;
|
|
2103
|
-
/**
|
|
2104
|
-
* Inbound is always true for WhatsApp. Messages arrive via webhook push and
|
|
2105
|
-
* are buffered for periodic drain via `syncWhatsAppInbound()`.
|
|
2106
|
-
*/
|
|
2107
|
-
inbound: true;
|
|
2108
|
-
phoneNumberId?: string;
|
|
2109
|
-
phoneNumber?: string | null;
|
|
2110
|
-
localAuthAvailable?: boolean;
|
|
2111
|
-
localAuthRegistered?: boolean | null;
|
|
2112
|
-
serviceConnected?: boolean;
|
|
2113
|
-
outboundReady?: boolean;
|
|
2114
|
-
inboundReady?: boolean;
|
|
2115
|
-
transport?: "cloudapi" | "baileys" | "unconfigured";
|
|
2116
|
-
lastCheckedAt: string;
|
|
2117
|
-
degradations?: LifeOpsConnectorDegradation[];
|
|
2118
|
-
}
|
|
2119
|
-
export interface LifeOpsTelegramConnectorStatus {
|
|
2120
|
-
provider: "telegram";
|
|
2121
|
-
side: LifeOpsConnectorSide;
|
|
2122
|
-
connected: boolean;
|
|
2123
|
-
reason: LifeOpsMessagingConnectorReason;
|
|
2124
|
-
identity: {
|
|
2125
|
-
id?: string;
|
|
2126
|
-
username?: string;
|
|
2127
|
-
firstName?: string;
|
|
2128
|
-
phone?: string;
|
|
2129
|
-
} | null;
|
|
2130
|
-
grantedCapabilities: LifeOpsTelegramCapability[];
|
|
2131
|
-
authState: LifeOpsTelegramAuthState;
|
|
2132
|
-
authError: string | null;
|
|
2133
|
-
phone: string | null;
|
|
2134
|
-
managedCredentialsAvailable: boolean;
|
|
2135
|
-
storedCredentialsAvailable: boolean;
|
|
2136
|
-
grant: LifeOpsConnectorGrant | null;
|
|
2137
|
-
degradations?: LifeOpsConnectorDegradation[];
|
|
2138
|
-
}
|
|
2139
|
-
export interface LifeOpsTelegramDialogSummary {
|
|
2140
|
-
id: string;
|
|
2141
|
-
title: string;
|
|
2142
|
-
username: string | null;
|
|
2143
|
-
lastMessageText: string | null;
|
|
2144
|
-
lastMessageAt: string | null;
|
|
2145
|
-
unreadCount: number;
|
|
2146
|
-
}
|
|
2147
|
-
export interface VerifyLifeOpsTelegramConnectorRequest {
|
|
2148
|
-
side?: LifeOpsConnectorSide;
|
|
2149
|
-
recentLimit?: number;
|
|
2150
|
-
sendTarget?: string;
|
|
2151
|
-
sendMessage?: string;
|
|
2152
|
-
}
|
|
2153
|
-
export interface VerifyLifeOpsTelegramConnectorResponse {
|
|
2154
|
-
provider: "telegram";
|
|
2155
|
-
side: LifeOpsConnectorSide;
|
|
2156
|
-
verifiedAt: string;
|
|
2157
|
-
read: {
|
|
2158
|
-
ok: boolean;
|
|
2159
|
-
error: string | null;
|
|
2160
|
-
dialogCount: number;
|
|
2161
|
-
dialogs: LifeOpsTelegramDialogSummary[];
|
|
2162
|
-
};
|
|
2163
|
-
send: {
|
|
2164
|
-
ok: boolean;
|
|
2165
|
-
error: string | null;
|
|
2166
|
-
target: string;
|
|
2167
|
-
message: string;
|
|
2168
|
-
messageId: string | null;
|
|
2169
|
-
};
|
|
2170
|
-
}
|
|
2171
|
-
export interface StartLifeOpsSignalPairingRequest {
|
|
2172
|
-
side?: LifeOpsConnectorSide;
|
|
2173
|
-
}
|
|
2174
|
-
export interface StartLifeOpsSignalPairingResponse {
|
|
2175
|
-
provider: "signal";
|
|
2176
|
-
side: LifeOpsConnectorSide;
|
|
2177
|
-
sessionId: string;
|
|
2178
|
-
}
|
|
2179
|
-
export interface LifeOpsSignalPairingStatus {
|
|
2180
|
-
sessionId: string;
|
|
2181
|
-
state: "idle" | "generating_qr" | "waiting_for_scan" | "linking" | "connected" | "failed";
|
|
2182
|
-
qrDataUrl: string | null;
|
|
2183
|
-
error: string | null;
|
|
2184
|
-
}
|
|
2185
|
-
export interface StartLifeOpsDiscordConnectorRequest {
|
|
2186
|
-
side?: LifeOpsConnectorSide;
|
|
2187
|
-
source?: LifeOpsOwnerBrowserAccessSource;
|
|
2188
|
-
}
|
|
2189
|
-
export interface SendLifeOpsDiscordMessageRequest {
|
|
2190
|
-
side?: LifeOpsConnectorSide;
|
|
2191
|
-
channelId?: string;
|
|
2192
|
-
text: string;
|
|
2193
|
-
}
|
|
2194
|
-
export interface SendLifeOpsDiscordMessageResponse {
|
|
2195
|
-
provider: "discord";
|
|
2196
|
-
side: LifeOpsConnectorSide;
|
|
2197
|
-
channelId: string;
|
|
2198
|
-
ok: true;
|
|
2199
|
-
deliveryStatus: "sent" | "sending" | "failed" | "unknown";
|
|
2200
|
-
}
|
|
2201
|
-
export interface VerifyLifeOpsDiscordConnectorRequest {
|
|
2202
|
-
side?: LifeOpsConnectorSide;
|
|
2203
|
-
channelId?: string;
|
|
2204
|
-
sendMessage?: string;
|
|
2205
|
-
}
|
|
2206
|
-
export interface VerifyLifeOpsDiscordConnectorResponse {
|
|
2207
|
-
provider: "discord";
|
|
2208
|
-
side: LifeOpsConnectorSide;
|
|
2209
|
-
verifiedAt: string;
|
|
2210
|
-
status: LifeOpsDiscordConnectorStatus;
|
|
2211
|
-
send: {
|
|
2212
|
-
ok: boolean;
|
|
2213
|
-
error: string | null;
|
|
2214
|
-
channelId: string | null;
|
|
2215
|
-
message: string;
|
|
2216
|
-
deliveryStatus: "sent" | "sending" | "failed" | "unknown" | null;
|
|
2217
|
-
};
|
|
2218
|
-
}
|
|
2219
|
-
export interface SendLifeOpsWhatsAppMessageRequest {
|
|
2220
|
-
to: string;
|
|
2221
|
-
text: string;
|
|
2222
|
-
replyToMessageId?: string;
|
|
2223
|
-
}
|
|
2224
|
-
export interface StartLifeOpsTelegramAuthRequest {
|
|
2225
|
-
side?: LifeOpsConnectorSide;
|
|
2226
|
-
phone: string;
|
|
2227
|
-
apiId?: number;
|
|
2228
|
-
apiHash?: string;
|
|
2229
|
-
}
|
|
2230
|
-
export interface StartLifeOpsTelegramAuthResponse {
|
|
2231
|
-
provider: "telegram";
|
|
2232
|
-
side: LifeOpsConnectorSide;
|
|
2233
|
-
state: "waiting_for_provisioning_code" | "waiting_for_code" | "waiting_for_password" | "connected" | "error";
|
|
2234
|
-
error?: string;
|
|
2235
|
-
}
|
|
2236
|
-
export interface SubmitLifeOpsTelegramAuthRequest {
|
|
2237
|
-
side?: LifeOpsConnectorSide;
|
|
2238
|
-
code?: string;
|
|
2239
|
-
password?: string;
|
|
2240
|
-
}
|
|
2241
|
-
export interface DisconnectLifeOpsMessagingConnectorRequest {
|
|
2242
|
-
side?: LifeOpsConnectorSide;
|
|
2243
|
-
provider: "signal" | "discord" | "telegram";
|
|
2244
|
-
}
|
|
2245
|
-
export interface StartLifeOpsGoogleConnectorRequest {
|
|
2246
|
-
side?: LifeOpsConnectorSide;
|
|
2247
|
-
mode?: LifeOpsConnectorMode;
|
|
2248
|
-
/** Re-authenticate an existing account by grant ID (multi-account). */
|
|
2249
|
-
grantId?: string;
|
|
2250
|
-
/** Create an additional account grant instead of reusing the side/mode grant. */
|
|
2251
|
-
createNewGrant?: boolean;
|
|
2252
|
-
capabilities?: LifeOpsGoogleCapability[];
|
|
2253
|
-
redirectUrl?: string;
|
|
2254
|
-
}
|
|
2255
|
-
export interface StartLifeOpsGoogleConnectorResponse {
|
|
2256
|
-
provider: "google";
|
|
2257
|
-
side: LifeOpsConnectorSide;
|
|
2258
|
-
mode: LifeOpsConnectorMode;
|
|
2259
|
-
requestedCapabilities: LifeOpsGoogleCapability[];
|
|
2260
|
-
redirectUri: string;
|
|
2261
|
-
authUrl: string;
|
|
2262
|
-
}
|
|
2263
|
-
export interface SelectLifeOpsGoogleConnectorPreferenceRequest {
|
|
2264
|
-
side?: LifeOpsConnectorSide;
|
|
2265
|
-
mode?: LifeOpsConnectorMode;
|
|
2266
|
-
}
|
|
2267
|
-
export interface DisconnectLifeOpsGoogleConnectorRequest {
|
|
2268
|
-
side?: LifeOpsConnectorSide;
|
|
2269
|
-
mode?: LifeOpsConnectorMode;
|
|
2270
|
-
grantId?: string;
|
|
2271
|
-
}
|
|
2272
|
-
export interface UpsertLifeOpsXConnectorRequest {
|
|
2273
|
-
side?: LifeOpsConnectorSide;
|
|
2274
|
-
mode?: LifeOpsConnectorMode;
|
|
2275
|
-
capabilities: LifeOpsXCapability[];
|
|
2276
|
-
grantedScopes?: string[];
|
|
2277
|
-
identity?: Record<string, unknown>;
|
|
2278
|
-
metadata?: Record<string, unknown>;
|
|
2279
|
-
}
|
|
2280
|
-
export interface StartLifeOpsXConnectorRequest {
|
|
2281
|
-
side?: LifeOpsConnectorSide;
|
|
2282
|
-
mode?: LifeOpsConnectorMode;
|
|
2283
|
-
redirectUrl?: string;
|
|
2284
|
-
}
|
|
2285
|
-
export interface StartLifeOpsXConnectorResponse {
|
|
2286
|
-
provider: "x";
|
|
2287
|
-
side: LifeOpsConnectorSide;
|
|
2288
|
-
mode: LifeOpsConnectorMode;
|
|
2289
|
-
requestedCapabilities: LifeOpsXCapability[];
|
|
2290
|
-
redirectUri: string;
|
|
2291
|
-
authUrl: string;
|
|
2292
|
-
}
|
|
2293
|
-
export interface DisconnectLifeOpsXConnectorRequest {
|
|
2294
|
-
side?: LifeOpsConnectorSide;
|
|
2295
|
-
mode?: LifeOpsConnectorMode;
|
|
2296
|
-
}
|
|
2297
|
-
export interface CreateLifeOpsXPostRequest {
|
|
2298
|
-
side?: LifeOpsConnectorSide;
|
|
2299
|
-
mode?: LifeOpsConnectorMode;
|
|
2300
|
-
text: string;
|
|
2301
|
-
confirmPost?: boolean;
|
|
2302
|
-
}
|
|
2303
|
-
export interface LifeOpsXPostResponse {
|
|
2304
|
-
ok: boolean;
|
|
2305
|
-
status: number | null;
|
|
2306
|
-
postId?: string;
|
|
2307
|
-
error?: string;
|
|
2308
|
-
category: "success" | "auth" | "rate_limit" | "network" | "invalid" | "unknown";
|
|
2309
|
-
}
|
|
2310
|
-
export interface CreateLifeOpsDefinitionRequest {
|
|
2311
|
-
ownership?: LifeOpsOwnershipInput;
|
|
2312
|
-
kind: LifeOpsDefinitionKind;
|
|
2313
|
-
title: string;
|
|
2314
|
-
description?: string;
|
|
2315
|
-
originalIntent?: string;
|
|
2316
|
-
timezone?: string;
|
|
2317
|
-
priority?: number;
|
|
2318
|
-
cadence: LifeOpsCadence;
|
|
2319
|
-
windowPolicy?: LifeOpsWindowPolicy;
|
|
2320
|
-
progressionRule?: LifeOpsProgressionRule;
|
|
2321
|
-
websiteAccess?: LifeOpsWebsiteAccessPolicy | null;
|
|
2322
|
-
reminderPlan?: {
|
|
2323
|
-
steps: LifeOpsReminderStep[];
|
|
2324
|
-
mutePolicy?: Record<string, unknown>;
|
|
2325
|
-
quietHours?: Record<string, unknown>;
|
|
2326
|
-
} | null;
|
|
2327
|
-
goalId?: string | null;
|
|
2328
|
-
source?: string;
|
|
2329
|
-
metadata?: Record<string, unknown>;
|
|
2330
|
-
}
|
|
2331
|
-
export interface UpdateLifeOpsDefinitionRequest {
|
|
2332
|
-
ownership?: LifeOpsOwnershipInput;
|
|
2333
|
-
title?: string;
|
|
2334
|
-
description?: string;
|
|
2335
|
-
originalIntent?: string;
|
|
2336
|
-
timezone?: string;
|
|
2337
|
-
priority?: number;
|
|
2338
|
-
cadence?: LifeOpsCadence;
|
|
2339
|
-
windowPolicy?: LifeOpsWindowPolicy;
|
|
2340
|
-
progressionRule?: LifeOpsProgressionRule;
|
|
2341
|
-
websiteAccess?: LifeOpsWebsiteAccessPolicy | null;
|
|
2342
|
-
status?: LifeOpsDefinitionStatus;
|
|
2343
|
-
reminderPlan?: {
|
|
2344
|
-
steps: LifeOpsReminderStep[];
|
|
2345
|
-
mutePolicy?: Record<string, unknown>;
|
|
2346
|
-
quietHours?: Record<string, unknown>;
|
|
2347
|
-
} | null;
|
|
2348
|
-
goalId?: string | null;
|
|
2349
|
-
metadata?: Record<string, unknown>;
|
|
2350
|
-
}
|
|
2351
|
-
export interface CreateLifeOpsGoalRequest {
|
|
2352
|
-
ownership?: LifeOpsOwnershipInput;
|
|
2353
|
-
title: string;
|
|
2354
|
-
description?: string;
|
|
2355
|
-
cadence?: Record<string, unknown> | null;
|
|
2356
|
-
supportStrategy?: Record<string, unknown>;
|
|
2357
|
-
successCriteria?: Record<string, unknown>;
|
|
2358
|
-
status?: LifeOpsGoalStatus;
|
|
2359
|
-
reviewState?: LifeOpsGoalReviewState;
|
|
2360
|
-
metadata?: Record<string, unknown>;
|
|
2361
|
-
}
|
|
2362
|
-
export interface UpdateLifeOpsGoalRequest {
|
|
2363
|
-
ownership?: LifeOpsOwnershipInput;
|
|
2364
|
-
title?: string;
|
|
2365
|
-
description?: string;
|
|
2366
|
-
cadence?: Record<string, unknown> | null;
|
|
2367
|
-
supportStrategy?: Record<string, unknown>;
|
|
2368
|
-
successCriteria?: Record<string, unknown>;
|
|
2369
|
-
status?: LifeOpsGoalStatus;
|
|
2370
|
-
reviewState?: LifeOpsGoalReviewState;
|
|
2371
|
-
metadata?: Record<string, unknown>;
|
|
2372
|
-
}
|
|
2373
|
-
export interface LifeOpsDefinitionRecord {
|
|
2374
|
-
definition: LifeOpsTaskDefinition;
|
|
2375
|
-
reminderPlan: LifeOpsReminderPlan | null;
|
|
2376
|
-
performance: LifeOpsDefinitionPerformance;
|
|
2377
|
-
}
|
|
2378
|
-
export interface LifeOpsGoalRecord {
|
|
2379
|
-
goal: LifeOpsGoalDefinition;
|
|
2380
|
-
links: LifeOpsGoalLink[];
|
|
2381
|
-
}
|
|
2382
|
-
export declare const LIFEOPS_GOAL_SUGGESTION_KINDS: readonly ["create_support", "focus_now", "resolve_overdue", "review_progress", "tighten_cadence"];
|
|
2383
|
-
export type LifeOpsGoalSuggestionKind = (typeof LIFEOPS_GOAL_SUGGESTION_KINDS)[number];
|
|
2384
|
-
export interface LifeOpsGoalSupportSuggestion {
|
|
2385
|
-
kind: LifeOpsGoalSuggestionKind;
|
|
2386
|
-
title: string;
|
|
2387
|
-
detail: string;
|
|
2388
|
-
definitionId: string | null;
|
|
2389
|
-
occurrenceId: string | null;
|
|
2390
|
-
}
|
|
2391
|
-
export interface LifeOpsGoalReview {
|
|
2392
|
-
goal: LifeOpsGoalDefinition;
|
|
2393
|
-
links: LifeOpsGoalLink[];
|
|
2394
|
-
linkedDefinitions: LifeOpsTaskDefinition[];
|
|
2395
|
-
activeOccurrences: LifeOpsOccurrenceView[];
|
|
2396
|
-
overdueOccurrences: LifeOpsOccurrenceView[];
|
|
2397
|
-
recentCompletions: LifeOpsOccurrenceView[];
|
|
2398
|
-
suggestions: LifeOpsGoalSupportSuggestion[];
|
|
2399
|
-
audits: LifeOpsAuditEvent[];
|
|
2400
|
-
summary: {
|
|
2401
|
-
linkedDefinitionCount: number;
|
|
2402
|
-
activeOccurrenceCount: number;
|
|
2403
|
-
overdueOccurrenceCount: number;
|
|
2404
|
-
completedLast7Days: number;
|
|
2405
|
-
lastActivityAt: string | null;
|
|
2406
|
-
reviewState: LifeOpsGoalReviewState;
|
|
2407
|
-
explanation: string;
|
|
2408
|
-
progressScore?: number | null;
|
|
2409
|
-
confidence?: number | null;
|
|
2410
|
-
evidenceSummary?: string | null;
|
|
2411
|
-
missingEvidence?: string[];
|
|
2412
|
-
groundingState?: string | null;
|
|
2413
|
-
groundingSummary?: string | null;
|
|
2414
|
-
semanticReviewedAt?: string | null;
|
|
2415
|
-
};
|
|
2416
|
-
}
|
|
2417
|
-
export interface LifeOpsGoalExperienceLoopSuggestion {
|
|
2418
|
-
sourceGoalId: string;
|
|
2419
|
-
definitionId: string | null;
|
|
2420
|
-
title: string;
|
|
2421
|
-
detail: string;
|
|
2422
|
-
}
|
|
2423
|
-
export interface LifeOpsGoalExperienceLoopMatch {
|
|
2424
|
-
goalId: string;
|
|
2425
|
-
title: string;
|
|
2426
|
-
description: string;
|
|
2427
|
-
score: number;
|
|
2428
|
-
status: LifeOpsGoalStatus;
|
|
2429
|
-
reviewState: LifeOpsGoalReviewState;
|
|
2430
|
-
linkedDefinitionCount: number;
|
|
2431
|
-
completedLast7Days: number;
|
|
2432
|
-
lastActivityAt: string | null;
|
|
2433
|
-
explanation: string;
|
|
2434
|
-
carryForwardSuggestions: LifeOpsGoalExperienceLoopSuggestion[];
|
|
2435
|
-
}
|
|
2436
|
-
export interface LifeOpsGoalExperienceLoop {
|
|
2437
|
-
referenceGoalId: string | null;
|
|
2438
|
-
referenceTitle: string;
|
|
2439
|
-
similarGoals: LifeOpsGoalExperienceLoopMatch[];
|
|
2440
|
-
suggestedCarryForward: LifeOpsGoalExperienceLoopSuggestion[];
|
|
2441
|
-
summary: string | null;
|
|
2442
|
-
}
|
|
2443
|
-
export interface LifeOpsWeeklyGoalReview {
|
|
2444
|
-
generatedAt: string;
|
|
2445
|
-
reviewWindow: "this_week";
|
|
2446
|
-
summary: {
|
|
2447
|
-
totalGoals: number;
|
|
2448
|
-
onTrackCount: number;
|
|
2449
|
-
atRiskCount: number;
|
|
2450
|
-
needsAttentionCount: number;
|
|
2451
|
-
idleCount: number;
|
|
2452
|
-
};
|
|
2453
|
-
onTrack: LifeOpsGoalReview[];
|
|
2454
|
-
atRisk: LifeOpsGoalReview[];
|
|
2455
|
-
needsAttention: LifeOpsGoalReview[];
|
|
2456
|
-
idle: LifeOpsGoalReview[];
|
|
2457
|
-
}
|
|
2458
|
-
export interface LifeOpsDefinitionPerformanceWindow {
|
|
2459
|
-
scheduledCount: number;
|
|
2460
|
-
completedCount: number;
|
|
2461
|
-
skippedCount: number;
|
|
2462
|
-
pendingCount: number;
|
|
2463
|
-
completionRate: number;
|
|
2464
|
-
perfectDayCount: number;
|
|
2465
|
-
}
|
|
2466
|
-
export interface LifeOpsDefinitionPerformance {
|
|
2467
|
-
lastCompletedAt: string | null;
|
|
2468
|
-
lastSkippedAt: string | null;
|
|
2469
|
-
lastActivityAt: string | null;
|
|
2470
|
-
totalScheduledCount: number;
|
|
2471
|
-
totalCompletedCount: number;
|
|
2472
|
-
totalSkippedCount: number;
|
|
2473
|
-
totalPendingCount: number;
|
|
2474
|
-
currentOccurrenceStreak: number;
|
|
2475
|
-
bestOccurrenceStreak: number;
|
|
2476
|
-
currentPerfectDayStreak: number;
|
|
2477
|
-
bestPerfectDayStreak: number;
|
|
2478
|
-
last7Days: LifeOpsDefinitionPerformanceWindow;
|
|
2479
|
-
last30Days: LifeOpsDefinitionPerformanceWindow;
|
|
2480
|
-
}
|
|
2481
|
-
export interface SnoozeLifeOpsOccurrenceRequest {
|
|
2482
|
-
minutes?: number;
|
|
2483
|
-
preset?: "15m" | "30m" | "1h" | "tonight" | "tomorrow_morning";
|
|
2484
|
-
}
|
|
2485
|
-
export interface CompleteLifeOpsOccurrenceRequest {
|
|
2486
|
-
note?: string;
|
|
2487
|
-
metadata?: Record<string, unknown>;
|
|
2488
|
-
}
|
|
2489
|
-
export interface LifeOpsOccurrenceExplanation {
|
|
2490
|
-
occurrence: LifeOpsOccurrenceView;
|
|
2491
|
-
definition: LifeOpsTaskDefinition;
|
|
2492
|
-
definitionPerformance: LifeOpsDefinitionPerformance;
|
|
2493
|
-
reminderPlan: LifeOpsReminderPlan | null;
|
|
2494
|
-
linkedGoal: LifeOpsGoalRecord | null;
|
|
2495
|
-
reminderInspection: LifeOpsReminderInspection;
|
|
2496
|
-
definitionAudits: LifeOpsAuditEvent[];
|
|
2497
|
-
summary: {
|
|
2498
|
-
originalIntent: string;
|
|
2499
|
-
source: string;
|
|
2500
|
-
whyVisible: string;
|
|
2501
|
-
lastReminderAt: string | null;
|
|
2502
|
-
lastReminderChannel: LifeOpsReminderChannel | null;
|
|
2503
|
-
lastReminderOutcome: LifeOpsReminderAttemptOutcome | null;
|
|
2504
|
-
lastActionSummary: string | null;
|
|
2505
|
-
};
|
|
2506
|
-
}
|
|
2507
|
-
export interface UpsertLifeOpsChannelPolicyRequest {
|
|
2508
|
-
channelType: LifeOpsChannelType;
|
|
2509
|
-
channelRef: string;
|
|
2510
|
-
privacyClass?: LifeOpsPrivacyClass;
|
|
2511
|
-
allowReminders?: boolean;
|
|
2512
|
-
allowEscalation?: boolean;
|
|
2513
|
-
allowPosts?: boolean;
|
|
2514
|
-
requireConfirmationForActions?: boolean;
|
|
2515
|
-
metadata?: Record<string, unknown>;
|
|
2516
|
-
}
|
|
2517
|
-
export interface SetLifeOpsReminderPreferenceRequest {
|
|
2518
|
-
intensity: LifeOpsReminderIntensityInput;
|
|
2519
|
-
definitionId?: string | null;
|
|
2520
|
-
note?: string;
|
|
2521
|
-
}
|
|
2522
|
-
export interface CaptureLifeOpsPhoneConsentRequest {
|
|
2523
|
-
phoneNumber: string;
|
|
2524
|
-
consentGiven: boolean;
|
|
2525
|
-
allowSms: boolean;
|
|
2526
|
-
allowVoice: boolean;
|
|
2527
|
-
privacyClass?: LifeOpsPrivacyClass;
|
|
2528
|
-
metadata?: Record<string, unknown>;
|
|
2529
|
-
}
|
|
2530
|
-
export interface CaptureLifeOpsActivitySignalRequest {
|
|
2531
|
-
source: LifeOpsActivitySignalSource;
|
|
2532
|
-
platform?: string;
|
|
2533
|
-
state: LifeOpsActivitySignalState;
|
|
2534
|
-
observedAt?: string;
|
|
2535
|
-
idleState?: "active" | "idle" | "locked" | "unknown" | null;
|
|
2536
|
-
idleTimeSeconds?: number | null;
|
|
2537
|
-
onBattery?: boolean | null;
|
|
2538
|
-
health?: LifeOpsHealthSignal | null;
|
|
2539
|
-
metadata?: Record<string, unknown>;
|
|
2540
|
-
}
|
|
2541
|
-
/**
|
|
2542
|
-
* User-attested circadian override. Emitted with maximum reliability weight;
|
|
2543
|
-
* force-transitions the state machine. See `sleep-wake-spec.md` §2 (manual
|
|
2544
|
-
* override row in the transition table).
|
|
2545
|
-
*/
|
|
2546
|
-
export declare const LIFEOPS_MANUAL_OVERRIDE_KINDS: readonly ["going_to_bed", "just_woke_up"];
|
|
2547
|
-
export type LifeOpsManualOverrideKind = (typeof LIFEOPS_MANUAL_OVERRIDE_KINDS)[number];
|
|
2548
|
-
export interface CaptureLifeOpsManualOverrideRequest {
|
|
2549
|
-
kind: LifeOpsManualOverrideKind;
|
|
2550
|
-
occurredAt?: string;
|
|
2551
|
-
/** Optional user note capped at 500 chars. */
|
|
2552
|
-
note?: string;
|
|
2553
|
-
}
|
|
2554
|
-
export interface LifeOpsManualOverrideResult {
|
|
2555
|
-
accepted: true;
|
|
2556
|
-
kind: LifeOpsManualOverrideKind;
|
|
2557
|
-
occurredAt: string;
|
|
2558
|
-
circadianState: LifeOpsCircadianState;
|
|
2559
|
-
stateConfidence: number;
|
|
2560
|
-
}
|
|
2561
|
-
export interface ProcessLifeOpsRemindersRequest {
|
|
2562
|
-
now?: string;
|
|
2563
|
-
limit?: number;
|
|
2564
|
-
}
|
|
2565
|
-
export interface LifeOpsReminderProcessingResult {
|
|
2566
|
-
now: string;
|
|
2567
|
-
attempts: LifeOpsReminderAttempt[];
|
|
2568
|
-
}
|
|
2569
|
-
export interface LifeOpsReminderInspection {
|
|
2570
|
-
ownerType: "occurrence" | "calendar_event";
|
|
2571
|
-
ownerId: string;
|
|
2572
|
-
reminderPlan: LifeOpsReminderPlan | null;
|
|
2573
|
-
attempts: LifeOpsReminderAttempt[];
|
|
2574
|
-
audits: LifeOpsAuditEvent[];
|
|
2575
|
-
}
|
|
2576
|
-
export interface AcknowledgeLifeOpsReminderRequest {
|
|
2577
|
-
ownerType: "occurrence" | "calendar_event";
|
|
2578
|
-
ownerId: string;
|
|
2579
|
-
acknowledgedAt?: string;
|
|
2580
|
-
note?: string;
|
|
2581
|
-
}
|
|
2582
|
-
export interface RelockLifeOpsWebsiteAccessRequest {
|
|
2583
|
-
groupKey: string;
|
|
2584
|
-
}
|
|
2585
|
-
export interface ResolveLifeOpsWebsiteAccessCallbackRequest {
|
|
2586
|
-
callbackKey: string;
|
|
2587
|
-
}
|
|
2588
|
-
export interface CreateLifeOpsWorkflowRequest {
|
|
2589
|
-
ownership?: LifeOpsOwnershipInput;
|
|
2590
|
-
title: string;
|
|
2591
|
-
triggerType: LifeOpsWorkflowTriggerType;
|
|
2592
|
-
schedule?: LifeOpsWorkflowSchedule;
|
|
2593
|
-
actionPlan: LifeOpsWorkflowActionPlan;
|
|
2594
|
-
permissionPolicy?: Partial<LifeOpsWorkflowPermissionPolicy>;
|
|
2595
|
-
status?: LifeOpsWorkflowStatus;
|
|
2596
|
-
createdBy?: LifeOpsActor;
|
|
2597
|
-
metadata?: Record<string, unknown>;
|
|
2598
|
-
}
|
|
2599
|
-
export interface UpdateLifeOpsWorkflowRequest {
|
|
2600
|
-
ownership?: LifeOpsOwnershipInput;
|
|
2601
|
-
title?: string;
|
|
2602
|
-
triggerType?: LifeOpsWorkflowTriggerType;
|
|
2603
|
-
schedule?: LifeOpsWorkflowSchedule;
|
|
2604
|
-
actionPlan?: LifeOpsWorkflowActionPlan;
|
|
2605
|
-
permissionPolicy?: Partial<LifeOpsWorkflowPermissionPolicy>;
|
|
2606
|
-
status?: LifeOpsWorkflowStatus;
|
|
2607
|
-
metadata?: Record<string, unknown>;
|
|
2608
|
-
}
|
|
2609
|
-
export interface RunLifeOpsWorkflowRequest {
|
|
2610
|
-
now?: string;
|
|
2611
|
-
confirmBrowserActions?: boolean;
|
|
2612
|
-
}
|
|
2613
|
-
export interface LifeOpsWorkflowRecord {
|
|
2614
|
-
definition: LifeOpsWorkflowDefinition;
|
|
2615
|
-
runs: LifeOpsWorkflowRun[];
|
|
2616
|
-
}
|
|
2617
|
-
export declare const LIFEOPS_BROWSER_SESSION_STATUSES: readonly ["awaiting_confirmation", "queued", "running", "done", "cancelled", "failed"];
|
|
2618
|
-
export type LifeOpsBrowserSessionStatus = (typeof LIFEOPS_BROWSER_SESSION_STATUSES)[number];
|
|
2619
|
-
export interface LifeOpsBrowserSession {
|
|
2620
|
-
id: string;
|
|
2621
|
-
agentId: string;
|
|
2622
|
-
domain: LifeOpsDomain;
|
|
2623
|
-
subjectType: LifeOpsSubjectType;
|
|
2624
|
-
subjectId: string;
|
|
2625
|
-
visibilityScope: LifeOpsVisibilityScope;
|
|
2626
|
-
contextPolicy: LifeOpsContextPolicy;
|
|
2627
|
-
workflowId: string | null;
|
|
2628
|
-
browser: LifeOpsBrowserKind | null;
|
|
2629
|
-
companionId: string | null;
|
|
2630
|
-
profileId: string | null;
|
|
2631
|
-
windowId: string | null;
|
|
2632
|
-
tabId: string | null;
|
|
2633
|
-
title: string;
|
|
2634
|
-
status: LifeOpsBrowserSessionStatus;
|
|
2635
|
-
actions: LifeOpsBrowserAction[];
|
|
2636
|
-
currentActionIndex: number;
|
|
2637
|
-
awaitingConfirmationForActionId: string | null;
|
|
2638
|
-
result: Record<string, unknown>;
|
|
2639
|
-
metadata: Record<string, unknown>;
|
|
2640
|
-
createdAt: string;
|
|
2641
|
-
updatedAt: string;
|
|
2642
|
-
finishedAt: string | null;
|
|
2643
|
-
}
|
|
2644
|
-
export interface CreateLifeOpsBrowserSessionRequest {
|
|
2645
|
-
ownership?: LifeOpsOwnershipInput;
|
|
2646
|
-
workflowId?: string | null;
|
|
2647
|
-
browser?: LifeOpsBrowserKind | null;
|
|
2648
|
-
companionId?: string | null;
|
|
2649
|
-
profileId?: string | null;
|
|
2650
|
-
windowId?: string | null;
|
|
2651
|
-
tabId?: string | null;
|
|
2652
|
-
title: string;
|
|
2653
|
-
actions: Array<Omit<LifeOpsBrowserAction, "id">>;
|
|
2654
|
-
}
|
|
2655
|
-
export interface ConfirmLifeOpsBrowserSessionRequest {
|
|
2656
|
-
confirmed: boolean;
|
|
2657
|
-
}
|
|
2658
|
-
export interface UpdateLifeOpsBrowserSessionProgressRequest {
|
|
2659
|
-
currentActionIndex?: number;
|
|
2660
|
-
result?: Record<string, unknown>;
|
|
2661
|
-
metadata?: Record<string, unknown>;
|
|
2662
|
-
}
|
|
2663
|
-
export interface CompleteLifeOpsBrowserSessionRequest {
|
|
2664
|
-
status?: Extract<LifeOpsBrowserSessionStatus, "done" | "failed">;
|
|
2665
|
-
result?: Record<string, unknown>;
|
|
2666
|
-
}
|
|
2667
|
-
export type AppBlockerSettingsMode = "desktop" | "mobile" | "web";
|
|
2668
|
-
export interface AppBlockerSettingsCardProps {
|
|
2669
|
-
mode: AppBlockerSettingsMode;
|
|
2670
|
-
}
|
|
2671
|
-
export type WebsiteBlockerSettingsMode = "desktop" | "mobile" | "web";
|
|
2672
|
-
export interface WebsiteBlockerSettingsCardProps {
|
|
2673
|
-
mode: WebsiteBlockerSettingsMode;
|
|
2674
|
-
permission?: import("./permissions.js").PermissionState;
|
|
2675
|
-
platform?: string;
|
|
2676
|
-
onOpenPermissionSettings?: () => void | Promise<void>;
|
|
2677
|
-
onRequestPermission?: () => void | Promise<void>;
|
|
2678
|
-
}
|
|
2679
|
-
export interface LifeOpsOccurrenceActionResult {
|
|
2680
|
-
occurrence: LifeOpsOccurrenceView;
|
|
2681
|
-
}
|
|
2682
|
-
/**
|
|
2683
|
-
* Single sleep episode entry returned by the sleep history endpoint.
|
|
2684
|
-
*
|
|
2685
|
-
* Mirrors `LifeOpsSleepEpisodeRecord` plus a derived `durationMin` so clients
|
|
2686
|
-
* never need to recompute it. `endedAt` and `durationMin` are `null` for
|
|
2687
|
-
* still-open (current) sleep episodes.
|
|
2688
|
-
*/
|
|
2689
|
-
export interface LifeOpsSleepHistoryEpisode {
|
|
2690
|
-
id: string;
|
|
2691
|
-
startedAt: string;
|
|
2692
|
-
endedAt: string | null;
|
|
2693
|
-
durationMin: number | null;
|
|
2694
|
-
cycleType: LifeOpsSleepCycleType;
|
|
2695
|
-
source: LifeOpsSleepCycleEvidenceSource | "manual";
|
|
2696
|
-
confidence: number;
|
|
2697
|
-
}
|
|
2698
|
-
export interface LifeOpsSleepHistorySummary {
|
|
2699
|
-
cycleCount: number;
|
|
2700
|
-
averageDurationMin: number | null;
|
|
2701
|
-
overnightCount: number;
|
|
2702
|
-
napCount: number;
|
|
2703
|
-
openCount: number;
|
|
2704
|
-
}
|
|
2705
|
-
export interface LifeOpsSleepHistoryResponse {
|
|
2706
|
-
episodes: LifeOpsSleepHistoryEpisode[];
|
|
2707
|
-
summary: LifeOpsSleepHistorySummary;
|
|
2708
|
-
windowDays: number;
|
|
2709
|
-
includeNaps: boolean;
|
|
2710
|
-
}
|
|
2711
|
-
/**
|
|
2712
|
-
* Wire-format response for the sleep regularity endpoint. Mirrors
|
|
2713
|
-
* `LifeOpsScheduleRegularity` (`sampleCount` is renamed to `sampleSize` here
|
|
2714
|
-
* for client-readable consistency with the baseline response).
|
|
2715
|
-
*/
|
|
2716
|
-
export interface LifeOpsSleepRegularityResponse {
|
|
2717
|
-
sri: number;
|
|
2718
|
-
classification: LifeOpsRegularityClass;
|
|
2719
|
-
bedtimeStddevMin: number;
|
|
2720
|
-
wakeStddevMin: number;
|
|
2721
|
-
midSleepStddevMin: number;
|
|
2722
|
-
sampleSize: number;
|
|
2723
|
-
windowDays: number;
|
|
2724
|
-
}
|
|
2725
|
-
/**
|
|
2726
|
-
* Wire-format response for the personal baseline endpoint. Mirrors
|
|
2727
|
-
* `LifeOpsPersonalBaseline` plus `sampleSize` (alias of `sampleCount`).
|
|
2728
|
-
*
|
|
2729
|
-
* Returns nullable medians when the underlying baseline has insufficient data.
|
|
2730
|
-
*/
|
|
2731
|
-
export interface LifeOpsPersonalBaselineResponse {
|
|
2732
|
-
medianBedtimeLocalHour: number | null;
|
|
2733
|
-
medianWakeLocalHour: number | null;
|
|
2734
|
-
medianSleepDurationMin: number | null;
|
|
2735
|
-
bedtimeStddevMin: number | null;
|
|
2736
|
-
wakeStddevMin: number | null;
|
|
2737
|
-
sampleSize: number;
|
|
2738
|
-
windowDays: number;
|
|
2739
|
-
}
|
|
2740
|
-
export declare const LIFEOPS_MESSAGE_CHANNELS: readonly ["email", "telegram", "discord", "signal", "sms", "twilio_voice", "imessage", "whatsapp", "x_dm"];
|
|
2741
|
-
export type LifeOpsMessageChannel = (typeof LIFEOPS_MESSAGE_CHANNELS)[number];
|
|
2742
|
-
export declare const LIFEOPS_FOLLOW_UP_STATUSES: readonly ["pending", "completed", "snoozed", "cancelled"];
|
|
2743
|
-
export type LifeOpsFollowUpStatus = (typeof LIFEOPS_FOLLOW_UP_STATUSES)[number];
|
|
2744
|
-
export declare const LIFEOPS_X_FEED_TYPES: readonly ["home_timeline", "mentions", "search"];
|
|
2745
|
-
export type LifeOpsXFeedType = (typeof LIFEOPS_X_FEED_TYPES)[number];
|
|
2746
|
-
export interface LifeOpsRelationship {
|
|
2747
|
-
id: string;
|
|
2748
|
-
agentId: string;
|
|
2749
|
-
name: string;
|
|
2750
|
-
primaryChannel: string;
|
|
2751
|
-
primaryHandle: string;
|
|
2752
|
-
email: string | null;
|
|
2753
|
-
phone: string | null;
|
|
2754
|
-
notes: string;
|
|
2755
|
-
tags: string[];
|
|
2756
|
-
relationshipType: string;
|
|
2757
|
-
lastContactedAt: string | null;
|
|
2758
|
-
metadata: Record<string, unknown>;
|
|
2759
|
-
createdAt: string;
|
|
2760
|
-
updatedAt: string;
|
|
2761
|
-
}
|
|
2762
|
-
export interface LifeOpsRelationshipInteraction {
|
|
2763
|
-
id: string;
|
|
2764
|
-
agentId: string;
|
|
2765
|
-
relationshipId: string;
|
|
2766
|
-
channel: string;
|
|
2767
|
-
direction: "inbound" | "outbound";
|
|
2768
|
-
summary: string;
|
|
2769
|
-
occurredAt: string;
|
|
2770
|
-
metadata: Record<string, unknown>;
|
|
2771
|
-
createdAt: string;
|
|
2772
|
-
}
|
|
2773
|
-
export interface LifeOpsFollowUp {
|
|
2774
|
-
id: string;
|
|
2775
|
-
agentId: string;
|
|
2776
|
-
relationshipId: string;
|
|
2777
|
-
dueAt: string;
|
|
2778
|
-
reason: string;
|
|
2779
|
-
status: LifeOpsFollowUpStatus;
|
|
2780
|
-
priority: number;
|
|
2781
|
-
draft: LifeOpsCrossChannelDraft | null;
|
|
2782
|
-
completedAt: string | null;
|
|
2783
|
-
metadata: Record<string, unknown>;
|
|
2784
|
-
createdAt: string;
|
|
2785
|
-
updatedAt: string;
|
|
2786
|
-
}
|
|
2787
|
-
export interface LifeOpsCrossChannelDraft {
|
|
2788
|
-
channel: LifeOpsMessageChannel;
|
|
2789
|
-
target: string;
|
|
2790
|
-
subject: string | null;
|
|
2791
|
-
body: string;
|
|
2792
|
-
metadata: Record<string, unknown>;
|
|
2793
|
-
}
|
|
2794
|
-
export interface LifeOpsCrossChannelSendRequest {
|
|
2795
|
-
draft: LifeOpsCrossChannelDraft;
|
|
2796
|
-
confirmed: boolean;
|
|
2797
|
-
}
|
|
2798
|
-
export interface LifeOpsXDm {
|
|
2799
|
-
id: string;
|
|
2800
|
-
agentId: string;
|
|
2801
|
-
externalDmId: string;
|
|
2802
|
-
conversationId: string;
|
|
2803
|
-
senderHandle: string;
|
|
2804
|
-
senderId: string;
|
|
2805
|
-
isInbound: boolean;
|
|
2806
|
-
text: string;
|
|
2807
|
-
receivedAt: string;
|
|
2808
|
-
readAt: string | null;
|
|
2809
|
-
repliedAt: string | null;
|
|
2810
|
-
metadata: Record<string, unknown>;
|
|
2811
|
-
syncedAt: string;
|
|
2812
|
-
updatedAt: string;
|
|
2813
|
-
}
|
|
2814
|
-
export interface LifeOpsXFeedItem {
|
|
2815
|
-
id: string;
|
|
2816
|
-
agentId: string;
|
|
2817
|
-
externalTweetId: string;
|
|
2818
|
-
authorHandle: string;
|
|
2819
|
-
authorId: string;
|
|
2820
|
-
text: string;
|
|
2821
|
-
createdAtSource: string;
|
|
2822
|
-
feedType: LifeOpsXFeedType;
|
|
2823
|
-
metadata: Record<string, unknown>;
|
|
2824
|
-
syncedAt: string;
|
|
2825
|
-
updatedAt: string;
|
|
2826
|
-
}
|
|
2827
|
-
export interface LifeOpsXSyncState {
|
|
2828
|
-
id: string;
|
|
2829
|
-
agentId: string;
|
|
2830
|
-
feedType: LifeOpsXFeedType;
|
|
2831
|
-
lastCursor: string | null;
|
|
2832
|
-
syncedAt: string;
|
|
2833
|
-
updatedAt: string;
|
|
2834
|
-
}
|
|
2835
|
-
export interface LifeOpsScreenTimeSession {
|
|
2836
|
-
id: string;
|
|
2837
|
-
agentId: string;
|
|
2838
|
-
source: "app" | "website";
|
|
2839
|
-
identifier: string;
|
|
2840
|
-
displayName: string;
|
|
2841
|
-
startAt: string;
|
|
2842
|
-
endAt: string | null;
|
|
2843
|
-
durationSeconds: number;
|
|
2844
|
-
isActive: boolean;
|
|
2845
|
-
metadata: Record<string, unknown>;
|
|
2846
|
-
createdAt: string;
|
|
2847
|
-
updatedAt: string;
|
|
2848
|
-
}
|
|
2849
|
-
export interface LifeOpsScreenTimeDaily {
|
|
2850
|
-
id: string;
|
|
2851
|
-
agentId: string;
|
|
2852
|
-
source: "app" | "website";
|
|
2853
|
-
identifier: string;
|
|
2854
|
-
date: string;
|
|
2855
|
-
totalSeconds: number;
|
|
2856
|
-
sessionCount: number;
|
|
2857
|
-
metadata: Record<string, unknown>;
|
|
2858
|
-
createdAt: string;
|
|
2859
|
-
updatedAt: string;
|
|
2860
|
-
}
|
|
2861
|
-
export type LifeOpsScreenTimeSource = "app" | "website";
|
|
2862
|
-
export type LifeOpsScreenTimeRangeKey = "today" | "this-week" | "7d" | "30d";
|
|
2863
|
-
export declare const LIFEOPS_SCREEN_TIME_RANGES: readonly ["today", "this-week", "7d", "30d"];
|
|
2864
|
-
export interface LifeOpsScreenTimeSummaryRequest {
|
|
2865
|
-
since: string;
|
|
2866
|
-
until: string;
|
|
2867
|
-
source?: LifeOpsScreenTimeSource;
|
|
2868
|
-
identifier?: string;
|
|
2869
|
-
topN?: number;
|
|
2870
|
-
}
|
|
2871
|
-
export interface LifeOpsScreenTimeSummaryItem {
|
|
2872
|
-
source: LifeOpsScreenTimeSource;
|
|
2873
|
-
identifier: string;
|
|
2874
|
-
displayName: string;
|
|
2875
|
-
totalSeconds: number;
|
|
2876
|
-
}
|
|
2877
|
-
export interface LifeOpsScreenTimeSummary {
|
|
2878
|
-
items: LifeOpsScreenTimeSummaryItem[];
|
|
2879
|
-
totalSeconds: number;
|
|
2880
|
-
}
|
|
2881
|
-
export type LifeOpsHabitCategory = "browser" | "communication" | "social" | "system" | "video" | "work" | "other";
|
|
2882
|
-
export type LifeOpsHabitDevice = "browser" | "computer" | "phone" | "tablet" | "unknown";
|
|
2883
|
-
export interface LifeOpsScreenTimeBucket {
|
|
2884
|
-
key: string;
|
|
2885
|
-
label: string;
|
|
2886
|
-
totalSeconds: number;
|
|
2887
|
-
}
|
|
2888
|
-
export interface LifeOpsScreenTimeBreakdownItem extends LifeOpsScreenTimeSummaryItem {
|
|
2889
|
-
sessionCount: number;
|
|
2890
|
-
category: LifeOpsHabitCategory;
|
|
2891
|
-
device: LifeOpsHabitDevice;
|
|
2892
|
-
service: string | null;
|
|
2893
|
-
serviceLabel: string | null;
|
|
2894
|
-
browser: string | null;
|
|
2895
|
-
}
|
|
2896
|
-
export interface LifeOpsScreenTimeBreakdown {
|
|
2897
|
-
items: LifeOpsScreenTimeBreakdownItem[];
|
|
2898
|
-
totalSeconds: number;
|
|
2899
|
-
bySource: LifeOpsScreenTimeBucket[];
|
|
2900
|
-
byCategory: LifeOpsScreenTimeBucket[];
|
|
2901
|
-
byDevice: LifeOpsScreenTimeBucket[];
|
|
2902
|
-
byService: LifeOpsScreenTimeBucket[];
|
|
2903
|
-
byBrowser: LifeOpsScreenTimeBucket[];
|
|
2904
|
-
fetchedAt: string;
|
|
2905
|
-
}
|
|
2906
|
-
export interface LifeOpsSocialMessageChannel {
|
|
2907
|
-
channel: "x_dm";
|
|
2908
|
-
label: string;
|
|
2909
|
-
inbound: number;
|
|
2910
|
-
outbound: number;
|
|
2911
|
-
opened: number;
|
|
2912
|
-
replied: number;
|
|
2913
|
-
}
|
|
2914
|
-
export type LifeOpsSocialHabitDataSourceState = "live" | "partial" | "unwired";
|
|
2915
|
-
export interface LifeOpsSocialHabitDataSource {
|
|
2916
|
-
id: string;
|
|
2917
|
-
label: string;
|
|
2918
|
-
state: LifeOpsSocialHabitDataSourceState;
|
|
2919
|
-
statusLabel: string;
|
|
2920
|
-
detail: string;
|
|
2921
|
-
}
|
|
2922
|
-
export interface LifeOpsSocialHabitSummary {
|
|
2923
|
-
since: string;
|
|
2924
|
-
until: string;
|
|
2925
|
-
totalSeconds: number;
|
|
2926
|
-
services: LifeOpsScreenTimeBucket[];
|
|
2927
|
-
devices: LifeOpsScreenTimeBucket[];
|
|
2928
|
-
surfaces: LifeOpsScreenTimeBucket[];
|
|
2929
|
-
browsers: LifeOpsScreenTimeBucket[];
|
|
2930
|
-
sessions: LifeOpsScreenTimeBreakdownItem[];
|
|
2931
|
-
messages: {
|
|
2932
|
-
channels: LifeOpsSocialMessageChannel[];
|
|
2933
|
-
inbound: number;
|
|
2934
|
-
outbound: number;
|
|
2935
|
-
opened: number;
|
|
2936
|
-
replied: number;
|
|
2937
|
-
};
|
|
2938
|
-
dataSources: LifeOpsSocialHabitDataSource[];
|
|
2939
|
-
fetchedAt: string;
|
|
2940
|
-
}
|
|
2941
|
-
export interface LifeOpsScreenTimeWindow {
|
|
2942
|
-
since: string;
|
|
2943
|
-
until: string;
|
|
2944
|
-
}
|
|
2945
|
-
export interface LifeOpsScreenTimeHistoryPoint extends LifeOpsScreenTimeWindow {
|
|
2946
|
-
date: string;
|
|
2947
|
-
label: string;
|
|
2948
|
-
totalSeconds: number;
|
|
2949
|
-
}
|
|
2950
|
-
export interface LifeOpsScreenTimeDeltaMetrics {
|
|
2951
|
-
totalPercent: number | null;
|
|
2952
|
-
appPercent: number | null;
|
|
2953
|
-
webPercent: number | null;
|
|
2954
|
-
phonePercent: number | null;
|
|
2955
|
-
socialPercent: number | null;
|
|
2956
|
-
youtubePercent: number | null;
|
|
2957
|
-
xPercent: number | null;
|
|
2958
|
-
messageOpenedPercent: number | null;
|
|
2959
|
-
}
|
|
2960
|
-
export interface LifeOpsScreenTimeMetrics {
|
|
2961
|
-
totalSeconds: number;
|
|
2962
|
-
appSeconds: number;
|
|
2963
|
-
webSeconds: number;
|
|
2964
|
-
phoneSeconds: number;
|
|
2965
|
-
socialSeconds: number;
|
|
2966
|
-
youtubeSeconds: number;
|
|
2967
|
-
xSeconds: number;
|
|
2968
|
-
messageOpened: number;
|
|
2969
|
-
messageOutbound: number;
|
|
2970
|
-
messageInbound: number;
|
|
2971
|
-
deltas: LifeOpsScreenTimeDeltaMetrics | null;
|
|
2972
|
-
}
|
|
2973
|
-
export interface LifeOpsScreenTimeTargetBucket extends LifeOpsScreenTimeBucket {
|
|
2974
|
-
source: LifeOpsScreenTimeSource;
|
|
2975
|
-
identifier: string;
|
|
2976
|
-
}
|
|
2977
|
-
export interface LifeOpsScreenTimeSessionBucket extends LifeOpsScreenTimeBucket {
|
|
2978
|
-
source: LifeOpsScreenTimeSource;
|
|
2979
|
-
identifier: string;
|
|
2980
|
-
}
|
|
2981
|
-
export interface LifeOpsScreenTimeVisibleBuckets {
|
|
2982
|
-
categories: LifeOpsScreenTimeBucket[];
|
|
2983
|
-
devices: LifeOpsScreenTimeBucket[];
|
|
2984
|
-
browsers: LifeOpsScreenTimeBucket[];
|
|
2985
|
-
services: LifeOpsScreenTimeBucket[];
|
|
2986
|
-
surfaces: LifeOpsScreenTimeBucket[];
|
|
2987
|
-
topTargets: LifeOpsScreenTimeTargetBucket[];
|
|
2988
|
-
sessionBuckets: LifeOpsScreenTimeSessionBucket[];
|
|
2989
|
-
channels: LifeOpsSocialMessageChannel[];
|
|
2990
|
-
setupSources: LifeOpsSocialHabitDataSource[];
|
|
2991
|
-
hasMessageActivity: boolean;
|
|
2992
|
-
hasUsage: boolean;
|
|
2993
|
-
}
|
|
2994
|
-
export interface LifeOpsScreenTimeHistoryResponse {
|
|
2995
|
-
range: LifeOpsScreenTimeRangeKey;
|
|
2996
|
-
label: string;
|
|
2997
|
-
window: LifeOpsScreenTimeWindow;
|
|
2998
|
-
priorWindow: LifeOpsScreenTimeWindow | null;
|
|
2999
|
-
breakdown: LifeOpsScreenTimeBreakdown;
|
|
3000
|
-
social: LifeOpsSocialHabitSummary;
|
|
3001
|
-
history: LifeOpsScreenTimeHistoryPoint[];
|
|
3002
|
-
metrics: LifeOpsScreenTimeMetrics;
|
|
3003
|
-
visible: LifeOpsScreenTimeVisibleBuckets;
|
|
3004
|
-
fetchedAt: string;
|
|
3005
|
-
}
|
|
3006
|
-
export type LifeOpsIMessageHostPlatform = "darwin" | "linux" | "win32" | "unknown";
|
|
3007
|
-
export interface LifeOpsIMessageConnectorStatus {
|
|
3008
|
-
available: boolean;
|
|
3009
|
-
connected: boolean;
|
|
3010
|
-
bridgeType: "native" | "imsg" | "bluebubbles" | "none";
|
|
3011
|
-
hostPlatform: LifeOpsIMessageHostPlatform;
|
|
3012
|
-
accountHandle: string | null;
|
|
3013
|
-
sendMode: "cli" | "private-api" | "apple-script" | "none";
|
|
3014
|
-
helperConnected: boolean | null;
|
|
3015
|
-
privateApiEnabled: boolean | null;
|
|
3016
|
-
diagnostics: string[];
|
|
3017
|
-
lastSyncAt: string | null;
|
|
3018
|
-
lastCheckedAt: string | null;
|
|
3019
|
-
error: string | null;
|
|
3020
|
-
chatDbAvailable?: boolean;
|
|
3021
|
-
sendOnly?: boolean;
|
|
3022
|
-
chatDbPath?: string;
|
|
3023
|
-
reason?: string | null;
|
|
3024
|
-
permissionAction?: {
|
|
3025
|
-
type: "full_disk_access";
|
|
3026
|
-
label: string;
|
|
3027
|
-
url: string;
|
|
3028
|
-
instructions: string[];
|
|
3029
|
-
} | null;
|
|
3030
|
-
degradations?: LifeOpsConnectorDegradation[];
|
|
3031
|
-
}
|
|
3032
|
-
export interface LifeOpsIMessageChat {
|
|
3033
|
-
id: string;
|
|
3034
|
-
name: string;
|
|
3035
|
-
participants: string[];
|
|
3036
|
-
lastMessageAt?: string;
|
|
3037
|
-
}
|
|
3038
|
-
export interface LifeOpsIMessageMessage {
|
|
3039
|
-
id: string;
|
|
3040
|
-
fromHandle: string;
|
|
3041
|
-
toHandles: string[];
|
|
3042
|
-
text: string;
|
|
3043
|
-
isFromMe: boolean;
|
|
3044
|
-
sentAt: string;
|
|
3045
|
-
chatId?: string;
|
|
3046
|
-
attachments?: Array<{
|
|
3047
|
-
name: string;
|
|
3048
|
-
mimeType?: string;
|
|
3049
|
-
path?: string;
|
|
3050
|
-
}>;
|
|
3051
|
-
}
|
|
3052
|
-
export interface GetLifeOpsIMessageMessagesRequest {
|
|
3053
|
-
chatId?: string;
|
|
3054
|
-
since?: string;
|
|
3055
|
-
limit?: number;
|
|
3056
|
-
}
|
|
3057
|
-
export interface SendLifeOpsIMessageRequest {
|
|
3058
|
-
to: string;
|
|
3059
|
-
text: string;
|
|
3060
|
-
attachmentPaths?: string[];
|
|
3061
|
-
}
|
|
3062
|
-
export type LifeOpsEntityVisibility = "owner_only" | "agent_and_admin" | "owner_agent_admin";
|
|
3063
|
-
export type LifeOpsEntityIdentityAddedVia = "user_chat" | "merge" | "platform_observation" | "extraction" | "import";
|
|
3064
|
-
export interface LifeOpsEntityIdentity {
|
|
3065
|
-
platform: string;
|
|
3066
|
-
handle: string;
|
|
3067
|
-
displayName?: string;
|
|
3068
|
-
verified: boolean;
|
|
3069
|
-
confidence: number;
|
|
3070
|
-
addedAt: string;
|
|
3071
|
-
addedVia: LifeOpsEntityIdentityAddedVia;
|
|
3072
|
-
evidence: string[];
|
|
3073
|
-
}
|
|
3074
|
-
export interface LifeOpsEntityAttribute {
|
|
3075
|
-
value: unknown;
|
|
3076
|
-
confidence: number;
|
|
3077
|
-
evidence: string[];
|
|
3078
|
-
updatedAt: string;
|
|
3079
|
-
}
|
|
3080
|
-
export interface LifeOpsEntityState {
|
|
3081
|
-
lastObservedAt?: string;
|
|
3082
|
-
lastInboundAt?: string;
|
|
3083
|
-
lastOutboundAt?: string;
|
|
3084
|
-
lastInteractionPlatform?: string;
|
|
3085
|
-
}
|
|
3086
|
-
export interface LifeOpsEntity {
|
|
3087
|
-
entityId: string;
|
|
3088
|
-
type: string;
|
|
3089
|
-
preferredName: string;
|
|
3090
|
-
fullName?: string;
|
|
3091
|
-
identities: LifeOpsEntityIdentity[];
|
|
3092
|
-
attributes?: Record<string, LifeOpsEntityAttribute>;
|
|
3093
|
-
state: LifeOpsEntityState;
|
|
3094
|
-
tags: string[];
|
|
3095
|
-
visibility: LifeOpsEntityVisibility;
|
|
3096
|
-
createdAt: string;
|
|
3097
|
-
updatedAt: string;
|
|
3098
|
-
}
|
|
3099
|
-
export type LifeOpsGraphRelationshipSource = "user_chat" | "platform_observation" | "extraction" | "import" | "system";
|
|
3100
|
-
export type LifeOpsGraphRelationshipStatus = "active" | "retired";
|
|
3101
|
-
export interface LifeOpsGraphRelationshipState {
|
|
3102
|
-
lastObservedAt?: string;
|
|
3103
|
-
lastInteractionAt?: string;
|
|
3104
|
-
interactionCount?: number;
|
|
3105
|
-
sentimentTrend?: "positive" | "neutral" | "negative";
|
|
3106
|
-
}
|
|
3107
|
-
export interface LifeOpsGraphRelationship {
|
|
3108
|
-
relationshipId: string;
|
|
3109
|
-
fromEntityId: string;
|
|
3110
|
-
toEntityId: string;
|
|
3111
|
-
type: string;
|
|
3112
|
-
metadata?: Record<string, unknown>;
|
|
3113
|
-
state: LifeOpsGraphRelationshipState;
|
|
3114
|
-
evidence: string[];
|
|
3115
|
-
confidence: number;
|
|
3116
|
-
source: LifeOpsGraphRelationshipSource;
|
|
3117
|
-
status: LifeOpsGraphRelationshipStatus;
|
|
3118
|
-
retiredAt?: string;
|
|
3119
|
-
retiredReason?: string;
|
|
3120
|
-
createdAt: string;
|
|
3121
|
-
updatedAt: string;
|
|
3122
|
-
}
|
|
3123
|
-
//# sourceMappingURL=lifeops.d.ts.map
|