@fungi.computer/agar 0.4.0 → 0.5.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.
@@ -24,6 +24,11 @@ export declare const FungiDelegationReplySchema: z.ZodLazy<z.ZodObject<{
24
24
  outcome_unknown: "outcome_unknown";
25
25
  }>;
26
26
  diagnostic: z.ZodOptional<z.ZodString>;
27
+ waitingOnYou: z.ZodOptional<z.ZodArray<z.ZodObject<{
28
+ itemId: z.ZodLazy<z.ZodString>;
29
+ kind: z.ZodString;
30
+ summary: z.ZodString;
31
+ }, z.core.$strict>>>;
27
32
  }, z.core.$strict>>;
28
33
  /** A delegated Agent's reply as the admitting host authenticated it. */
29
34
  export type FungiDelegationReply = z.infer<typeof FungiDelegationReplySchema>;
@@ -41,6 +46,7 @@ export declare const FungiMessageMetaSchema: z.ZodObject<{
41
46
  delegation: z.ZodOptional<z.ZodObject<{
42
47
  ancestors: z.ZodArray<z.ZodLazy<z.ZodString>>;
43
48
  maxDepth: z.ZodNumber;
49
+ steer: z.ZodOptional<z.ZodLiteral<true>>;
44
50
  reply: z.ZodOptional<z.ZodLazy<z.ZodObject<{
45
51
  agentId: z.ZodLazy<z.ZodString>;
46
52
  sessionId: z.ZodLazy<z.ZodString>;
@@ -53,6 +59,11 @@ export declare const FungiMessageMetaSchema: z.ZodObject<{
53
59
  outcome_unknown: "outcome_unknown";
54
60
  }>;
55
61
  diagnostic: z.ZodOptional<z.ZodString>;
62
+ waitingOnYou: z.ZodOptional<z.ZodArray<z.ZodObject<{
63
+ itemId: z.ZodLazy<z.ZodString>;
64
+ kind: z.ZodString;
65
+ summary: z.ZodString;
66
+ }, z.core.$strict>>>;
56
67
  }, z.core.$strict>>>;
57
68
  }, z.core.$strict>>;
58
69
  }, z.core.$strict>;
@@ -30,6 +30,16 @@ export const FungiDelegationReplySchema = z.lazy(() => z.strictObject({
30
30
  ]),
31
31
  /** Bounded, single-line terminal diagnostic for work that did not complete. */
32
32
  diagnostic: z.string().min(1).max(200).optional(),
33
+ /** Open items of the replying Session that now wait on the recipient. */
34
+ waitingOnYou: z
35
+ .array(z.strictObject({
36
+ itemId: identifier,
37
+ kind: z.string().min(1).max(64),
38
+ summary: z.string().min(1).max(200),
39
+ }))
40
+ .min(1)
41
+ .max(8)
42
+ .optional(),
33
43
  }));
34
44
  /**
35
45
  * The metadata the host attaches to every prompt and operator line it admits.
@@ -44,6 +54,8 @@ export const FungiMessageMetaSchema = z.strictObject({
44
54
  .strictObject({
45
55
  ancestors: z.array(identifier).max(8),
46
56
  maxDepth: z.number().int().min(1).max(8),
57
+ /** The sender asked to steer the recipient's running turn, not queue behind it. */
58
+ steer: z.literal(true).optional(),
47
59
  /**
48
60
  * Present only on a line the host admitted as an authenticated reply;
49
61
  * a line's text never sets it.
@@ -123,6 +123,8 @@ const statusItemsSchema = Schema.Array(Schema.Union([
123
123
  kind: Schema.Literal("button"),
124
124
  icon: Schema.optionalKey(Schema.Literals(["folder", "ports", "processes", "access"])),
125
125
  count: statusCount,
126
+ tone: Schema.optionalKey(Schema.Literals(["neutral", "success", "warning", "error"])),
127
+ busy: Schema.optionalKey(Schema.Boolean),
126
128
  title: Schema.optionalKey(statusText(1_024)),
127
129
  disabled: Schema.optionalKey(Schema.Boolean),
128
130
  opens: Schema.optionalKey(Schema.Literal("dialog")),
package/dist/ui.d.ts CHANGED
@@ -74,6 +74,10 @@ export type AppStatusItem = Readonly<{
74
74
  icon?: AppStatusIcon;
75
75
  /** A positive count after the label; zero is hidden. */
76
76
  count?: number;
77
+ /** A small status light before the label; omitted draws none. */
78
+ tone?: AppStatusTone;
79
+ /** Work is under way: the light pulses (neutral tone when none is set). */
80
+ busy?: boolean;
77
81
  /** A longer description, such as a full folder path. */
78
82
  title?: string;
79
83
  disabled?: boolean;
package/docs/api/index.md CHANGED
@@ -1627,6 +1627,8 @@ type AppStatusItem =
1627
1627
  kind: "button";
1628
1628
  icon?: AppStatusIcon;
1629
1629
  count?: number;
1630
+ tone?: AppStatusTone;
1631
+ busy?: boolean;
1630
1632
  title?: string;
1631
1633
  disabled?: boolean;
1632
1634
  opens?: "dialog";
@@ -2071,6 +2073,18 @@ const FungiDelegationReplySchema: ZodLazy<
2071
2073
  outcome_unknown: "outcome_unknown";
2072
2074
  }>;
2073
2075
  diagnostic: ZodOptional<ZodString>;
2076
+ waitingOnYou: ZodOptional<
2077
+ ZodArray<
2078
+ ZodObject<
2079
+ {
2080
+ itemId: ZodLazy<ZodString>;
2081
+ kind: ZodString;
2082
+ summary: ZodString;
2083
+ },
2084
+ $strict
2085
+ >
2086
+ >
2087
+ >;
2074
2088
  },
2075
2089
  $strict
2076
2090
  >
@@ -2096,6 +2110,7 @@ const FungiMessageMetaSchema: ZodObject<{
2096
2110
  delegation: ZodOptional<ZodObject<{
2097
2111
  ancestors: ZodArray<ZodLazy<ZodString>>;
2098
2112
  maxDepth: ZodNumber;
2113
+ steer: ZodOptional<ZodLiteral<true>>;
2099
2114
  reply: ZodOptional<ZodLazy<ZodObject<{
2100
2115
  agentId: ZodLazy<ZodString>;
2101
2116
  sessionId: ZodLazy<ZodString>;
@@ -2108,6 +2123,7 @@ const FungiMessageMetaSchema: ZodObject<{
2108
2123
  outcome_unknown: ...;
2109
2124
  }>;
2110
2125
  diagnostic: ZodOptional<ZodString>;
2126
+ waitingOnYou: ZodOptional<ZodArray<...>>;
2111
2127
  }, $strict>>>;
2112
2128
  }, $strict>>;
2113
2129
  }, $strict>;
@@ -2607,6 +2623,7 @@ const mediaModelSchema: Struct<{
2607
2623
  defaultWidth: Number;
2608
2624
  dimensions: Literals<readonly ["none", "own"]>;
2609
2625
  maxDimension: NullOr<Number>;
2626
+ maxDimensionDocumented: Boolean;
2610
2627
  maxReferences: Number;
2611
2628
  maxSteps: NullOr<Number>;
2612
2629
  referenceField: NullOr<String>;
@@ -2644,6 +2661,7 @@ const mediaModelSchema: Struct<{
2644
2661
  defaultAspectRatio: Literals<
2645
2662
  readonly ["16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "9:21"]
2646
2663
  >;
2664
+ supportsAudio: Boolean;
2647
2665
  defaultGenerateAudio: NullOr<Boolean>;
2648
2666
  referenceRoles: $Array<
2649
2667
  Literals<readonly ["first-frame", "last-frame", "reference"]>
@@ -3055,6 +3073,7 @@ function messageDelegationReply(meta):
3055
3073
  | "cancelled"
3056
3074
  | "outcome_unknown";
3057
3075
  diagnostic?: string;
3076
+ waitingOnYou?: object[];
3058
3077
  }
3059
3078
  | undefined;
3060
3079
  ```
@@ -3079,16 +3098,18 @@ other line, including text that merely looks like a reply.
3079
3098
  commandId: string;
3080
3099
  outcome: "completed" | "failed" | "interrupted" | "cancelled" | "outcome_unknown";
3081
3100
  diagnostic?: string;
3101
+ waitingOnYou?: object[];
3082
3102
  }
3083
3103
  ```
3084
3104
 
3085
- | Name | Type | Default value | Description |
3086
- | ------------- | -------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------ |
3087
- | `agentId` | `string` | `identifier` | - |
3088
- | `sessionId` | `string` | `identifier` | - |
3089
- | `commandId` | `string` | `identifier` | - |
3090
- | `outcome` | `"completed"` \| `"failed"` \| `"interrupted"` \| `"cancelled"` \| `"outcome_unknown"` | - | The exact settlement outcome; failures are never collapsed. |
3091
- | `diagnostic?` | `string` | - | Bounded, single-line terminal diagnostic for work that did not complete. |
3105
+ | Name | Type | Default value | Description |
3106
+ | --------------- | -------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------ |
3107
+ | `agentId` | `string` | `identifier` | - |
3108
+ | `sessionId` | `string` | `identifier` | - |
3109
+ | `commandId` | `string` | `identifier` | - |
3110
+ | `outcome` | `"completed"` \| `"failed"` \| `"interrupted"` \| `"cancelled"` \| `"outcome_unknown"` | - | The exact settlement outcome; failures are never collapsed. |
3111
+ | `diagnostic?` | `string` | - | Bounded, single-line terminal diagnostic for work that did not complete. |
3112
+ | `waitingOnYou?` | `object`[] | - | Open items of the replying Session that now wait on the recipient. |
3092
3113
 
3093
3114
  ---
3094
3115
 
@@ -323,6 +323,7 @@ const mediaGenerationDescriptionSchema: Struct<{
323
323
  defaultWidth: Number;
324
324
  dimensions: Literals<readonly ["none", "own"]>;
325
325
  maxDimension: NullOr<Number>;
326
+ maxDimensionDocumented: Boolean;
326
327
  maxReferences: Number;
327
328
  maxSteps: NullOr<Number>;
328
329
  referenceField: NullOr<String>;
@@ -349,6 +350,7 @@ const mediaGenerationDescriptionSchema: Struct<{
349
350
  }>>;
350
351
  defaultResolution: Literals<readonly ["480p", "720p", "768p", "1080p", "4k"]>;
351
352
  defaultAspectRatio: Literals<readonly ["16:9", "4:3", "1:1", "3:4", "9:16", "21:9", "9:21"]>;
353
+ supportsAudio: Boolean;
352
354
  defaultGenerateAudio: NullOr<Boolean>;
353
355
  referenceRoles: $Array<Literals<readonly [..., ..., ...]>>;
354
356
  maxReferenceImages: Number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fungi.computer/agar",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "author": "Levi <levi@technomancy.dev>",
5
5
  "description": "App contract for fungi.computer: typed backend methods, host capabilities and the App frontend connection",
6
6
  "type": "module",
@@ -169,7 +169,7 @@
169
169
  },
170
170
  "dependencies": {
171
171
  "@fungi.computer/puffball": "0.2.0",
172
- "@fungi.computer/whistle": "0.2.0",
172
+ "@fungi.computer/whistle": "0.3.0",
173
173
  "@opentui/keymap": "0.5.10",
174
174
  "@fungi.computer/capnweb": "0.12.0",
175
175
  "effect": "4.0.2",