@slopus/happy-agent-client 0.0.53 → 0.0.54
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/README.md +10 -0
- package/dist/protocol/connections.d.ts +1 -0
- package/dist/protocol/connections.d.ts.map +1 -1
- package/dist/protocol/connections.js +2 -0
- package/dist/protocol/connections.js.map +1 -1
- package/dist/protocol/events.d.ts +16 -1
- package/dist/protocol/events.d.ts.map +1 -1
- package/dist/protocol/events.js +3 -0
- package/dist/protocol/events.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,6 +14,16 @@ the first process and again only after reconnecting to a replacement. A state-lo
|
|
|
14
14
|
the fresh cursor from which authoritative snapshots can be reloaded. Resource caching, version
|
|
15
15
|
reconciliation, and optimistic mutations remain decisions for the live view built on top.
|
|
16
16
|
|
|
17
|
+
Remote connection rosters are read with `listConnections()`. The typed `connections.updated`
|
|
18
|
+
event carries the complete `{ connections, version }` snapshot: keep the greater UUIDv7 version
|
|
19
|
+
across list responses and events, ignoring duplicate or older snapshots. An empty array clears
|
|
20
|
+
the roster. Capture a cursor before the initial roster read and follow updates after it to avoid
|
|
21
|
+
missing a concurrent change. Refetch on state loss or daemon replacement. The list's `version`
|
|
22
|
+
is optional for older daemons. `authentication: "workos"` identifies team remotes
|
|
23
|
+
and includes `organizationId`; `"bearer"` identifies standalone remotes. Older daemons may support
|
|
24
|
+
roster reads without emitting this additive event. `connection(id)` creates a separate client
|
|
25
|
+
for the selected remote, without merging its events or state into the parent.
|
|
26
|
+
|
|
17
27
|
`HappyReducer` is the stateful layer over that feed. Construct it with a client, register update
|
|
18
28
|
listeners, and start it when the application wants live synchronization. `getState()` and
|
|
19
29
|
`subscribe()` expose a read-only Zustand-style external store suitable for `useSyncExternalStore`:
|
|
@@ -24,6 +24,7 @@ export declare const connectionListResponseSchema: import("@sinclair/typebox").T
|
|
|
24
24
|
authentication: import("@sinclair/typebox").TLiteral<"workos">;
|
|
25
25
|
organizationId: import("@sinclair/typebox").TString;
|
|
26
26
|
}>]>>;
|
|
27
|
+
version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
27
28
|
}>;
|
|
28
29
|
export type ConnectionListResponse = Static<typeof connectionListResponseSchema>;
|
|
29
30
|
//# sourceMappingURL=connections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../sources/protocol/connections.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"connections.d.ts","sourceRoot":"","sources":["../../sources/protocol/connections.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,kBAAkB,qCAE7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE7D,eAAO,MAAM,gBAAgB;;;;;;;;;IAY3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEzD,eAAO,MAAM,4BAA4B;;;;;;;;;;;;EAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Configured remote daemons; credentials and transport addresses remain on the main daemon. */
|
|
2
2
|
import { Type } from "@sinclair/typebox";
|
|
3
|
+
import { resourceVersionSchema } from "./common.js";
|
|
3
4
|
export const connectionIdSchema = Type.String({
|
|
4
5
|
pattern: "^[a-z][a-z0-9_-]{0,63}$",
|
|
5
6
|
});
|
|
@@ -18,5 +19,6 @@ export const connectionSchema = Type.Union([
|
|
|
18
19
|
]);
|
|
19
20
|
export const connectionListResponseSchema = Type.Object({
|
|
20
21
|
connections: Type.Array(connectionSchema, { maxItems: 100 }),
|
|
22
|
+
version: Type.Optional(resourceVersionSchema),
|
|
21
23
|
});
|
|
22
24
|
//# sourceMappingURL=connections.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../sources/protocol/connections.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"connections.js","sourceRoot":"","sources":["../../sources/protocol/connections.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,yBAAyB;CACrC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC;IACvC,IAAI,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QACnD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;KACzC,CAAC;IACF,IAAI,CAAC,MAAM,CAAC;QACR,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;QACnD,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACtC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;KAChE,CAAC;CACL,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC;IACpD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAC5D,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CAChD,CAAC,CAAC"}
|
|
@@ -378,6 +378,21 @@ export interface MessageDeletedPayload {
|
|
|
378
378
|
}
|
|
379
379
|
/** Deliberately empty: a nudge to refetch the config endpoints when convenient. */
|
|
380
380
|
export type ConfigUpdatedPayload = Record<string, never>;
|
|
381
|
+
/** Complete public roster replacement; keep the greater version across snapshots and events. */
|
|
382
|
+
export declare const connectionsUpdatedPayloadSchema: import("@sinclair/typebox").TObject<{
|
|
383
|
+
connections: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
384
|
+
id: import("@sinclair/typebox").TString;
|
|
385
|
+
name: import("@sinclair/typebox").TString;
|
|
386
|
+
authentication: import("@sinclair/typebox").TLiteral<"bearer">;
|
|
387
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
388
|
+
id: import("@sinclair/typebox").TString;
|
|
389
|
+
name: import("@sinclair/typebox").TString;
|
|
390
|
+
authentication: import("@sinclair/typebox").TLiteral<"workos">;
|
|
391
|
+
organizationId: import("@sinclair/typebox").TString;
|
|
392
|
+
}>]>>;
|
|
393
|
+
version: import("@sinclair/typebox").TString;
|
|
394
|
+
}>;
|
|
395
|
+
export type ConnectionsUpdatedPayload = Static<typeof connectionsUpdatedPayloadSchema>;
|
|
381
396
|
/** A standalone full-profile replacement or a team-wide identity-only invalidation. */
|
|
382
397
|
export type ProfileUpdatedPayload = MutationEcho & ({
|
|
383
398
|
profile: Profile;
|
|
@@ -457,7 +472,7 @@ export interface EventEnvelope<TType extends string, TPayload> {
|
|
|
457
472
|
payload: TPayload;
|
|
458
473
|
}
|
|
459
474
|
/** Every event the specification names today. */
|
|
460
|
-
export type HappyAgentEvent = EventEnvelope<"daemon.draining", DaemonDrainingPayload> | EventEnvelope<"project.created", ProjectCreatedPayload> | EventEnvelope<"project.updated", ProjectUpdatedPayload> | EventEnvelope<"workspace.created", WorkspaceCreatedPayload> | EventEnvelope<"workspace.updated", WorkspaceUpdatedPayload> | EventEnvelope<"secret.created", SecretCreatedPayload> | EventEnvelope<"secret.updated", SecretUpdatedPayload> | EventEnvelope<"secret.attached", SecretAttachedPayload> | EventEnvelope<"secret.detached", SecretDetachedPayload> | EventEnvelope<"secret.removed", SecretRemovedPayload> | EventEnvelope<"bot.created", BotCreatedPayload> | EventEnvelope<"bot.updated", BotUpdatedPayload> | EventEnvelope<"terminal.created", TerminalCreatedPayload> | EventEnvelope<"terminal.updated", TerminalUpdatedPayload> | EventEnvelope<"git.updated", GitUpdatedPayload> | EventEnvelope<"files.updated", FilesUpdatedPayload> | EventEnvelope<"agent.created", AgentCreatedPayload> | EventEnvelope<"agent.updated", AgentUpdatedPayload> | EventEnvelope<"agent.context.updated", AgentContextUpdatedPayload> | EventEnvelope<"agent.draft.updated", AgentDraftUpdatedPayload> | EventEnvelope<"agent.profiles.updated", AgentProfilesUpdatedPayload> | EventEnvelope<"agent.slash_commands.updated", AgentSlashCommandsUpdatedPayload> | EventEnvelope<"process.started", ProcessStartedPayload> | EventEnvelope<"process.updated", ProcessUpdatedPayload> | EventEnvelope<"process.exited", ProcessUpdatedPayload> | EventEnvelope<"question.created", QuestionCreatedPayload> | EventEnvelope<"question.updated", QuestionUpdatedPayload> | EventEnvelope<"run.started", RunStartedPayload> | EventEnvelope<"run.boundary", RunBoundaryPayload> | EventEnvelope<"run.finished", RunFinishedPayload> | EventEnvelope<"message.created", MessageCreatedPayload> | EventEnvelope<"message.updated", MessageUpdatedPayload> | EventEnvelope<"message.delta", MessageDeltaPayload> | EventEnvelope<"message.deleted", MessageDeletedPayload> | EventEnvelope<"config.updated", ConfigUpdatedPayload> | EventEnvelope<"profile.updated", ProfileUpdatedPayload> | EventEnvelope<"cloud.updated", CloudUpdatedPayload> | EventEnvelope<"cloud.profile.updated", CloudProfileUpdatedPayload> | EventEnvelope<"cloud.social.updated", CloudSocialUpdatedPayload> | EventEnvelope<"crdt.service.created", CrdtServiceCreatedPayload> | EventEnvelope<"crdt.service.updated", CrdtServiceUpdatedPayload> | EventEnvelope<"crdt.connection.updated", CrdtConnectionUpdatedPayload> | EventEnvelope<"happy.integration.updated", HappyIntegrationUpdatedPayload>;
|
|
475
|
+
export type HappyAgentEvent = EventEnvelope<"daemon.draining", DaemonDrainingPayload> | EventEnvelope<"project.created", ProjectCreatedPayload> | EventEnvelope<"project.updated", ProjectUpdatedPayload> | EventEnvelope<"workspace.created", WorkspaceCreatedPayload> | EventEnvelope<"workspace.updated", WorkspaceUpdatedPayload> | EventEnvelope<"secret.created", SecretCreatedPayload> | EventEnvelope<"secret.updated", SecretUpdatedPayload> | EventEnvelope<"secret.attached", SecretAttachedPayload> | EventEnvelope<"secret.detached", SecretDetachedPayload> | EventEnvelope<"secret.removed", SecretRemovedPayload> | EventEnvelope<"bot.created", BotCreatedPayload> | EventEnvelope<"bot.updated", BotUpdatedPayload> | EventEnvelope<"terminal.created", TerminalCreatedPayload> | EventEnvelope<"terminal.updated", TerminalUpdatedPayload> | EventEnvelope<"git.updated", GitUpdatedPayload> | EventEnvelope<"files.updated", FilesUpdatedPayload> | EventEnvelope<"agent.created", AgentCreatedPayload> | EventEnvelope<"agent.updated", AgentUpdatedPayload> | EventEnvelope<"agent.context.updated", AgentContextUpdatedPayload> | EventEnvelope<"agent.draft.updated", AgentDraftUpdatedPayload> | EventEnvelope<"agent.profiles.updated", AgentProfilesUpdatedPayload> | EventEnvelope<"agent.slash_commands.updated", AgentSlashCommandsUpdatedPayload> | EventEnvelope<"process.started", ProcessStartedPayload> | EventEnvelope<"process.updated", ProcessUpdatedPayload> | EventEnvelope<"process.exited", ProcessUpdatedPayload> | EventEnvelope<"question.created", QuestionCreatedPayload> | EventEnvelope<"question.updated", QuestionUpdatedPayload> | EventEnvelope<"run.started", RunStartedPayload> | EventEnvelope<"run.boundary", RunBoundaryPayload> | EventEnvelope<"run.finished", RunFinishedPayload> | EventEnvelope<"message.created", MessageCreatedPayload> | EventEnvelope<"message.updated", MessageUpdatedPayload> | EventEnvelope<"message.delta", MessageDeltaPayload> | EventEnvelope<"message.deleted", MessageDeletedPayload> | EventEnvelope<"config.updated", ConfigUpdatedPayload> | EventEnvelope<"connections.updated", ConnectionsUpdatedPayload> | EventEnvelope<"profile.updated", ProfileUpdatedPayload> | EventEnvelope<"cloud.updated", CloudUpdatedPayload> | EventEnvelope<"cloud.profile.updated", CloudProfileUpdatedPayload> | EventEnvelope<"cloud.social.updated", CloudSocialUpdatedPayload> | EventEnvelope<"crdt.service.created", CrdtServiceCreatedPayload> | EventEnvelope<"crdt.service.updated", CrdtServiceUpdatedPayload> | EventEnvelope<"crdt.connection.updated", CrdtConnectionUpdatedPayload> | EventEnvelope<"happy.integration.updated", HappyIntegrationUpdatedPayload>;
|
|
461
476
|
/** The name of an event this client build knows. */
|
|
462
477
|
export type HappyAgentEventType = HappyAgentEvent["type"];
|
|
463
478
|
/** `GET /v0/events` query parameters. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../sources/protocol/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAEH,KAAK,KAAK,EACV,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,SAAS,EAIjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAO/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../sources/protocol/events.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol/events.js
CHANGED
|
@@ -10,6 +10,7 @@ import { cuid2Schema, mutationIdSchema, resourceVersionSchema, timestampSchema,
|
|
|
10
10
|
import { botSchema } from "./bots.js";
|
|
11
11
|
import { crdtServiceSummarySchema } from "./crdt.js";
|
|
12
12
|
import { secretAttachmentSchema, secretDescriptionSchema, secretEnvironmentVariableNameSchema, secretSchema, } from "./secrets.js";
|
|
13
|
+
import { connectionListResponseSchema } from "./connections.js";
|
|
13
14
|
/** A global secret entered the catalog; values are absent by construction. */
|
|
14
15
|
export const secretCreatedPayloadSchema = Type.Object({
|
|
15
16
|
mutationId: Type.Optional(mutationIdSchema),
|
|
@@ -74,6 +75,8 @@ export const messageDeltaPayloadSchema = Type.Object({
|
|
|
74
75
|
/** Text to concatenate onto that block. */
|
|
75
76
|
append: Type.String(),
|
|
76
77
|
});
|
|
78
|
+
/** Complete public roster replacement; keep the greater version across snapshots and events. */
|
|
79
|
+
export const connectionsUpdatedPayloadSchema = Type.Required(connectionListResponseSchema);
|
|
77
80
|
/** Compact Cloud social invalidation; clients refetch only when this version is newer. */
|
|
78
81
|
export const cloudSocialUpdatedPayloadSchema = Type.Object({
|
|
79
82
|
mutationId: Type.Optional(mutationIdSchema),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../sources/protocol/events.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAe,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EACH,WAAW,EAKX,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAQrD,OAAO,EACH,sBAAsB,EACtB,uBAAuB,EACvB,mCAAmC,EACnC,YAAY,GACf,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../sources/protocol/events.ts"],"names":[],"mappings":"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"}
|