@aeolus-fleet/common 0.9.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,6 +16,8 @@ export declare const SHIP_NOTE_MAX_LENGTH = 500;
16
16
  * Input of `fleet.commission`. The note is free text for the operator;
17
17
  * whitespace around it is dropped. `fleetScopes` adds fleet:read and/or
18
18
  * fleet:manage to the scopes every agent ship has; none when left out.
19
+ * `idempotencyKey` is the caller's own key, as for a send: a retry with the
20
+ * same key and the same request commissions no second ship.
19
21
  */
20
22
  export declare const commissionShipInputSchema: z.ZodObject<{
21
23
  name: z.ZodString;
@@ -25,6 +27,7 @@ export declare const commissionShipInputSchema: z.ZodObject<{
25
27
  "fleet:manage": "fleet:manage";
26
28
  }>>>;
27
29
  note: z.ZodOptional<z.ZodString>;
30
+ idempotencyKey: z.ZodString;
28
31
  }, z.core.$strip>;
29
32
  export type CommissionShipInput = z.infer<typeof commissionShipInputSchema>;
30
33
  /** Input of `fleet.getStartingPrompt`. */
@@ -43,6 +46,22 @@ export declare const startingPromptOutputSchema: z.ZodObject<{
43
46
  crewLine: z.ZodString;
44
47
  }, z.core.$strip>;
45
48
  export type StartingPromptOutput = z.infer<typeof startingPromptOutputSchema>;
49
+ /**
50
+ * Output of `fleet.commission`: the ship, and on the first commission its
51
+ * starting prompt and crew line, shown once. A repeat under the same key
52
+ * answers neither (the secret is never readable again), and says how its
53
+ * starting prompt stands; get a new one with `fleet.getStartingPrompt`.
54
+ */
55
+ export declare const commissionShipOutputSchema: z.ZodObject<{
56
+ shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
57
+ prompt: z.ZodNullable<z.ZodString>;
58
+ crewLine: z.ZodNullable<z.ZodString>;
59
+ startingPrompt: z.ZodNullable<z.ZodObject<{
60
+ issuedAt: z.ZodISODateTime;
61
+ isClaimed: z.ZodBoolean;
62
+ }, z.core.$strip>>;
63
+ }, z.core.$strip>;
64
+ export type CommissionShipOutput = z.infer<typeof commissionShipOutputSchema>;
46
65
  /** Input of `fleet.release`: the crewed ship whose session loses it. */
47
66
  export declare const releaseShipInputSchema: z.ZodObject<{
48
67
  shipId: z.ZodType<`shp_${string}`, unknown, z.core.$ZodTypeInternals<`shp_${string}`, unknown>>;
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { eventTypeSchema, fleetScopeSchema, locationKindSchema, scopeSchema, shipKindSchema, shipStatusSchema } from '../fleet/index.js';
3
3
  import { idSchema } from '../ids/index.js';
4
+ import { idempotencyKeySchema } from './idempotency-key.js';
4
5
  import { reportStateSchema } from './report.js';
5
6
  /**
6
7
  * Inputs and outputs of the fleet procedures: commission a ship, get its
@@ -23,6 +24,8 @@ export const SHIP_NOTE_MAX_LENGTH = 500;
23
24
  * Input of `fleet.commission`. The note is free text for the operator;
24
25
  * whitespace around it is dropped. `fleetScopes` adds fleet:read and/or
25
26
  * fleet:manage to the scopes every agent ship has; none when left out.
27
+ * `idempotencyKey` is the caller's own key, as for a send: a retry with the
28
+ * same key and the same request commissions no second ship.
26
29
  */
27
30
  export const commissionShipInputSchema = z.object({
28
31
  name: shipHandleSchema,
@@ -33,6 +36,7 @@ export const commissionShipInputSchema = z.object({
33
36
  .trim()
34
37
  .max(SHIP_NOTE_MAX_LENGTH, `A note is at most ${SHIP_NOTE_MAX_LENGTH} characters`)
35
38
  .optional(),
39
+ idempotencyKey: idempotencyKeySchema,
36
40
  });
37
41
  /** Input of `fleet.getStartingPrompt`. */
38
42
  export const getStartingPromptInputSchema = z.object({ shipId: idSchema('ship') });
@@ -48,6 +52,19 @@ export const startingPromptOutputSchema = z.object({
48
52
  /** `/aeolus:crew <fleetUrl> <shipId> <secret>`. */
49
53
  crewLine: z.string(),
50
54
  });
55
+ /**
56
+ * Output of `fleet.commission`: the ship, and on the first commission its
57
+ * starting prompt and crew line, shown once. A repeat under the same key
58
+ * answers neither (the secret is never readable again), and says how its
59
+ * starting prompt stands; get a new one with `fleet.getStartingPrompt`.
60
+ */
61
+ export const commissionShipOutputSchema = z.object({
62
+ shipId: idSchema('ship'),
63
+ prompt: z.string().nullable(),
64
+ crewLine: z.string().nullable(),
65
+ /** When its valid secret was issued (ISO 8601 in UTC) and whether a session claimed it; null when it has none. */
66
+ startingPrompt: z.object({ issuedAt: z.iso.datetime(), isClaimed: z.boolean() }).nullable(),
67
+ });
51
68
  /** Input of `fleet.release`: the crewed ship whose session loses it. */
52
69
  export const releaseShipInputSchema = z.object({ shipId: idSchema('ship') });
53
70
  /** Output of `fleet.release`: nothing; the OK is the answer. */
@@ -1 +1 @@
1
- {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/schemas/fleet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet.js","sourceRoot":"","sources":["../../src/schemas/fleet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { z } from 'zod';
2
+ /** The longest idempotency key a caller may give. It is opaque: any text of 1 to this many characters. */
3
+ export declare const IDEMPOTENCY_KEY_MAX_LENGTH = 256;
4
+ /** The caller's own key for one send or one commission, so a retry never does it twice. */
5
+ export declare const idempotencyKeySchema: z.ZodString;
@@ -0,0 +1,6 @@
1
+ import { z } from 'zod';
2
+ /** The longest idempotency key a caller may give. It is opaque: any text of 1 to this many characters. */
3
+ export const IDEMPOTENCY_KEY_MAX_LENGTH = 256;
4
+ /** The caller's own key for one send or one commission, so a retry never does it twice. */
5
+ export const idempotencyKeySchema = z.string().min(1).max(IDEMPOTENCY_KEY_MAX_LENGTH);
6
+ //# sourceMappingURL=idempotency-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"idempotency-key.js","sourceRoot":"","sources":["../../src/schemas/idempotency-key.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,0GAA0G;AAC1G,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,2FAA2F;AAC3F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC"}
@@ -3,6 +3,7 @@ export * from './delivery.js';
3
3
  export * from './fleet.js';
4
4
  export * from './follow.js';
5
5
  export * from './history.js';
6
+ export * from './idempotency-key.js';
6
7
  export * from './message.js';
7
8
  export * from './needs-attention.js';
8
9
  export * from './operator-inbox.js';
@@ -3,6 +3,7 @@ export * from './delivery.js';
3
3
  export * from './fleet.js';
4
4
  export * from './follow.js';
5
5
  export * from './history.js';
6
+ export * from './idempotency-key.js';
6
7
  export * from './message.js';
7
8
  export * from './needs-attention.js';
8
9
  export * from './operator-inbox.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
@@ -26,8 +26,6 @@ export declare function isMediaType(value: string): boolean;
26
26
  * payload by it (ADR 0016: no policy).
27
27
  */
28
28
  export declare const contentTypeSchema: z.ZodString;
29
- /** The longest idempotency key a sender may give. It is opaque: any text of 1 to this many characters. */
30
- export declare const IDEMPOTENCY_KEY_MAX_LENGTH = 256;
31
29
  /**
32
30
  * Who a message is for (docs/blueprint.md, "Selector"): one ship, by id or by
33
31
  * name, or any ship of a type. A name is resolved to the ship's id at send time.
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { idSchema } from '../ids/index.js';
3
3
  import { shipHandleSchema } from './fleet.js';
4
+ import { idempotencyKeySchema } from './idempotency-key.js';
4
5
  /**
5
6
  * Inputs and outputs of sending a message (`ship.send`): who it is for, its
6
7
  * payload and content type, the sender's idempotency key, and the message it
@@ -44,8 +45,6 @@ export const contentTypeSchema = z
44
45
  .string()
45
46
  .max(CONTENT_TYPE_MAX_LENGTH, CONTENT_TYPE_MESSAGE)
46
47
  .refine(isMediaType, CONTENT_TYPE_MESSAGE);
47
- /** The longest idempotency key a sender may give. It is opaque: any text of 1 to this many characters. */
48
- export const IDEMPOTENCY_KEY_MAX_LENGTH = 256;
49
48
  /**
50
49
  * Who a message is for (docs/blueprint.md, "Selector"): one ship, by id or by
51
50
  * name, or any ship of a type. A name is resolved to the ship's id at send time.
@@ -63,7 +62,7 @@ export const sendInputSchema = z.object({
63
62
  .refine((payload) => payloadBytes(payload) <= PAYLOAD_MAX_BYTES, `A payload is at most ${PAYLOAD_MAX_BYTES} bytes (64 KB) in UTF-8`),
64
63
  /** Without it, the payload is text/plain. */
65
64
  contentType: contentTypeSchema.optional(),
66
- idempotencyKey: z.string().min(1).max(IDEMPOTENCY_KEY_MAX_LENGTH),
65
+ idempotencyKey: idempotencyKeySchema,
67
66
  /** The id of the message, in the same fleet, that this one replies to. */
68
67
  inReplyTo: idSchema('message').optional(),
69
68
  });
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/schemas/message.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/schemas/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3C,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;AAE/B;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;AACzC,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEjD,6EAA6E;AAC7E,0EAA0E;AAC1E,yEAAyE;AACzE,MAAM,KAAK,GAAG,+BAA+B,CAAC;AAC9C,MAAM,aAAa,GAAG,sFAAsF,CAAC;AAC7G,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,KAAK,MAAM,KAAK,IAAI,KAAK,MAAM,KAAK,OAAO,KAAK,IAAI,aAAa,QAAQ,CAAC,CAAC;AAEtH,uGAAuG;AACvG,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,oBAAoB,GAAG,oGAAoG,uBAAuB,aAAa,CAAC;AAEtK;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,GAAG,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;KAClD,MAAM,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;IACpC,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IACrE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACnE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;CACpE,CAAC,CAAC;AAIH,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,iBAAiB,EACvD,wBAAwB,iBAAiB,yBAAyB,CACnE;IACH,6CAA6C;IAC7C,WAAW,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,oBAAoB;IACpC,0EAA0E;IAC1E,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC;AAIH,0GAA0G;AAC1G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aeolus-fleet/common",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Aeolus shared schemas, prefixed ids and types.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",