@seat-mesh/core 0.1.17 → 0.1.22

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.
Files changed (128) hide show
  1. package/dist/chatroom/agent-id.d.ts +6 -0
  2. package/dist/chatroom/agent-id.d.ts.map +1 -1
  3. package/dist/chatroom/agent-id.js +23 -4
  4. package/dist/chatroom/agent-id.js.map +1 -1
  5. package/dist/chatroom/checkback-hint.d.ts +12 -2
  6. package/dist/chatroom/checkback-hint.d.ts.map +1 -1
  7. package/dist/chatroom/checkback-hint.js +65 -31
  8. package/dist/chatroom/checkback-hint.js.map +1 -1
  9. package/dist/chatroom/checkback-hint.test.js +18 -1
  10. package/dist/chatroom/checkback-hint.test.js.map +1 -1
  11. package/dist/chatroom/comms-checkback.d.ts +3 -0
  12. package/dist/chatroom/comms-checkback.d.ts.map +1 -1
  13. package/dist/chatroom/comms-checkback.js +19 -1
  14. package/dist/chatroom/comms-checkback.js.map +1 -1
  15. package/dist/chatroom/inbox-client.d.ts +2 -0
  16. package/dist/chatroom/inbox-client.d.ts.map +1 -1
  17. package/dist/chatroom/inbox-client.js +45 -0
  18. package/dist/chatroom/inbox-client.js.map +1 -1
  19. package/dist/chatroom/read-state.d.ts +2 -0
  20. package/dist/chatroom/read-state.d.ts.map +1 -1
  21. package/dist/chatroom/read-state.js +10 -0
  22. package/dist/chatroom/read-state.js.map +1 -1
  23. package/dist/chatroom/room.d.ts +2 -0
  24. package/dist/chatroom/room.d.ts.map +1 -1
  25. package/dist/chatroom/room.js +30 -2
  26. package/dist/chatroom/room.js.map +1 -1
  27. package/dist/chatroom/room.test.js +33 -8
  28. package/dist/chatroom/room.test.js.map +1 -1
  29. package/dist/comms/envelope.d.ts +2 -2
  30. package/dist/contracts/agent-apply.d.ts +176 -0
  31. package/dist/contracts/agent-apply.d.ts.map +1 -0
  32. package/dist/contracts/agent-apply.js +296 -0
  33. package/dist/contracts/agent-apply.js.map +1 -0
  34. package/dist/contracts/agent-apply.test.d.ts +2 -0
  35. package/dist/contracts/agent-apply.test.d.ts.map +1 -0
  36. package/dist/contracts/agent-apply.test.js +103 -0
  37. package/dist/contracts/agent-apply.test.js.map +1 -0
  38. package/dist/contracts/balance-contract.test.d.ts +2 -0
  39. package/dist/contracts/balance-contract.test.d.ts.map +1 -0
  40. package/dist/contracts/balance-contract.test.js +38 -0
  41. package/dist/contracts/balance-contract.test.js.map +1 -0
  42. package/dist/contracts/balance.d.ts +36 -0
  43. package/dist/contracts/balance.d.ts.map +1 -0
  44. package/dist/contracts/balance.js +37 -0
  45. package/dist/contracts/balance.js.map +1 -0
  46. package/dist/contracts/index.d.ts +2 -0
  47. package/dist/contracts/index.d.ts.map +1 -1
  48. package/dist/contracts/index.js +2 -0
  49. package/dist/contracts/index.js.map +1 -1
  50. package/dist/index.d.ts +5 -0
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +5 -0
  53. package/dist/index.js.map +1 -1
  54. package/dist/layout/stack.d.ts +1 -1
  55. package/dist/layout/stack.d.ts.map +1 -1
  56. package/dist/layout/stack.js +3 -2
  57. package/dist/layout/stack.js.map +1 -1
  58. package/dist/messages/cli-hints.d.ts +13 -0
  59. package/dist/messages/cli-hints.d.ts.map +1 -0
  60. package/dist/messages/cli-hints.js +22 -0
  61. package/dist/messages/cli-hints.js.map +1 -0
  62. package/dist/messages/mesh-copy.d.ts +88 -0
  63. package/dist/messages/mesh-copy.d.ts.map +1 -0
  64. package/dist/messages/mesh-copy.js +154 -0
  65. package/dist/messages/mesh-copy.js.map +1 -0
  66. package/dist/messages/mesh-copy.test.d.ts +2 -0
  67. package/dist/messages/mesh-copy.test.d.ts.map +1 -0
  68. package/dist/messages/mesh-copy.test.js +47 -0
  69. package/dist/messages/mesh-copy.test.js.map +1 -0
  70. package/dist/messages/mesh-inbox-intent.d.ts +12 -0
  71. package/dist/messages/mesh-inbox-intent.d.ts.map +1 -0
  72. package/dist/messages/mesh-inbox-intent.js +61 -0
  73. package/dist/messages/mesh-inbox-intent.js.map +1 -0
  74. package/dist/messages/mesh-inbox-intent.test.d.ts +2 -0
  75. package/dist/messages/mesh-inbox-intent.test.d.ts.map +1 -0
  76. package/dist/messages/mesh-inbox-intent.test.js +18 -0
  77. package/dist/messages/mesh-inbox-intent.test.js.map +1 -0
  78. package/dist/paths-manifest.test.js +1 -0
  79. package/dist/paths-manifest.test.js.map +1 -1
  80. package/dist/profile-edit.d.ts +26 -0
  81. package/dist/profile-edit.d.ts.map +1 -0
  82. package/dist/profile-edit.js +87 -0
  83. package/dist/profile-edit.js.map +1 -0
  84. package/dist/profile-edit.test.d.ts +2 -0
  85. package/dist/profile-edit.test.d.ts.map +1 -0
  86. package/dist/profile-edit.test.js +111 -0
  87. package/dist/profile-edit.test.js.map +1 -0
  88. package/dist/profile.d.ts +0 -1
  89. package/dist/profile.d.ts.map +1 -1
  90. package/dist/profile.js +6 -4
  91. package/dist/profile.js.map +1 -1
  92. package/dist/providers/types.d.ts +8 -0
  93. package/dist/providers/types.d.ts.map +1 -1
  94. package/dist/role-index.d.ts +25 -2
  95. package/dist/role-index.d.ts.map +1 -1
  96. package/dist/role-index.js +98 -16
  97. package/dist/role-index.js.map +1 -1
  98. package/dist/role-index.test.js +42 -1
  99. package/dist/role-index.test.js.map +1 -1
  100. package/dist/schema/agents.d.ts +886 -141
  101. package/dist/schema/agents.d.ts.map +1 -1
  102. package/dist/schema/agents.js +34 -7
  103. package/dist/schema/agents.js.map +1 -1
  104. package/dist/schema/layout-manager2.test.js +1 -1
  105. package/dist/schema/layout-manager2.test.js.map +1 -1
  106. package/dist/schema/layout.d.ts +63 -62
  107. package/dist/schema/layout.d.ts.map +1 -1
  108. package/dist/schema/layout.js +33 -13
  109. package/dist/schema/layout.js.map +1 -1
  110. package/dist/schema/profile.d.ts +105 -132
  111. package/dist/schema/profile.d.ts.map +1 -1
  112. package/dist/schema/profile.js +8 -7
  113. package/dist/schema/profile.js.map +1 -1
  114. package/dist/schema/seat-kind.d.ts +43 -0
  115. package/dist/schema/seat-kind.d.ts.map +1 -0
  116. package/dist/schema/seat-kind.js +102 -0
  117. package/dist/schema/seat-kind.js.map +1 -0
  118. package/dist/schema/seat-kind.test.d.ts +2 -0
  119. package/dist/schema/seat-kind.test.d.ts.map +1 -0
  120. package/dist/schema/seat-kind.test.js +62 -0
  121. package/dist/schema/seat-kind.test.js.map +1 -0
  122. package/dist/ux/defaults.d.ts.map +1 -1
  123. package/dist/ux/defaults.js +6 -7
  124. package/dist/ux/defaults.js.map +1 -1
  125. package/dist/ux/evaluate.d.ts.map +1 -1
  126. package/dist/ux/evaluate.js +6 -3
  127. package/dist/ux/evaluate.js.map +1 -1
  128. package/package.json +1 -1
@@ -35,20 +35,10 @@ export declare const MeshProfileSchema: z.ZodObject<{
35
35
  }>>;
36
36
  base: z.ZodDefault<z.ZodObject<{
37
37
  window: z.ZodDefault<z.ZodString>;
38
- columns: z.ZodDefault<z.ZodArray<z.ZodEnum<["manager", "manager-2", "secretary"]>, "many">>;
39
- cli: z.ZodOptional<z.ZodObject<{
40
- manager: z.ZodOptional<z.ZodString>;
41
- "manager-2": z.ZodOptional<z.ZodString>;
42
- secretary: z.ZodOptional<z.ZodString>;
43
- }, "strip", z.ZodTypeAny, {
44
- manager?: string | undefined;
45
- "manager-2"?: string | undefined;
46
- secretary?: string | undefined;
47
- }, {
48
- manager?: string | undefined;
49
- "manager-2"?: string | undefined;
50
- secretary?: string | undefined;
51
- }>>;
38
+ columns: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
39
+ kinds: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<["manager", "secretary", "worker", "mini"]>>>;
40
+ cli: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
41
+ humanCoTyped: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
52
42
  secretaryWidthPct: z.ZodOptional<z.ZodNumber>;
53
43
  coordSync: z.ZodDefault<z.ZodObject<{
54
44
  reload: z.ZodDefault<z.ZodBoolean>;
@@ -62,47 +52,53 @@ export declare const MeshProfileSchema: z.ZodObject<{
62
52
  }>>;
63
53
  }, "strip", z.ZodTypeAny, {
64
54
  window: string;
65
- columns: ("manager" | "manager-2" | "secretary")[];
55
+ columns: string[];
66
56
  coordSync: {
67
57
  reload: boolean;
68
58
  attach: boolean;
69
59
  };
70
- cli?: {
71
- manager?: string | undefined;
72
- "manager-2"?: string | undefined;
73
- secretary?: string | undefined;
74
- } | undefined;
60
+ kinds?: Record<string, "manager" | "secretary" | "worker" | "mini"> | undefined;
61
+ cli?: Record<string, string> | undefined;
62
+ humanCoTyped?: string[] | undefined;
75
63
  secretaryWidthPct?: number | undefined;
76
64
  }, {
77
65
  window?: string | undefined;
78
- columns?: ("manager" | "manager-2" | "secretary")[] | undefined;
79
- cli?: {
80
- manager?: string | undefined;
81
- "manager-2"?: string | undefined;
82
- secretary?: string | undefined;
83
- } | undefined;
66
+ columns?: string[] | undefined;
67
+ kinds?: Record<string, "manager" | "secretary" | "worker" | "mini"> | undefined;
68
+ cli?: Record<string, string> | undefined;
69
+ humanCoTyped?: string[] | undefined;
84
70
  secretaryWidthPct?: number | undefined;
85
71
  coordSync?: {
86
72
  reload?: boolean | undefined;
87
73
  attach?: boolean | undefined;
88
74
  } | undefined;
89
75
  }>>;
90
- workers: z.ZodDefault<z.ZodObject<{
76
+ workers: z.ZodEffects<z.ZodDefault<z.ZodObject<{
91
77
  window: z.ZodDefault<z.ZodString>;
92
- grid: z.ZodLiteral<"3x2">;
78
+ grid: z.ZodDefault<z.ZodString>;
93
79
  slots: z.ZodDefault<z.ZodNumber>;
94
80
  enabled: z.ZodDefault<z.ZodBoolean>;
95
81
  }, "strip", z.ZodTypeAny, {
96
82
  window: string;
97
83
  enabled: boolean;
98
- grid: "3x2";
84
+ grid: string;
99
85
  slots: number;
100
86
  }, {
101
- grid: "3x2";
102
87
  window?: string | undefined;
103
88
  enabled?: boolean | undefined;
89
+ grid?: string | undefined;
104
90
  slots?: number | undefined;
105
- }>>;
91
+ }>>, {
92
+ window: string;
93
+ enabled: boolean;
94
+ grid: string;
95
+ slots: number;
96
+ }, {
97
+ window?: string | undefined;
98
+ enabled?: boolean | undefined;
99
+ grid?: string | undefined;
100
+ slots?: number | undefined;
101
+ } | undefined>;
106
102
  minis: z.ZodEffects<z.ZodDefault<z.ZodObject<{
107
103
  window: z.ZodDefault<z.ZodString>;
108
104
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -124,14 +120,14 @@ export declare const MeshProfileSchema: z.ZodObject<{
124
120
  }, "strip", z.ZodTypeAny, {
125
121
  window: string;
126
122
  enabled: boolean;
127
- grid: string;
128
123
  max: number;
124
+ grid: string;
129
125
  leads: number[];
130
126
  }, {
131
127
  window?: string | undefined;
132
128
  enabled?: boolean | undefined;
133
- grid?: string | undefined;
134
129
  max?: number | undefined;
130
+ grid?: string | undefined;
135
131
  leads?: number[] | {
136
132
  top?: number | undefined;
137
133
  bottom?: number | undefined;
@@ -139,81 +135,77 @@ export declare const MeshProfileSchema: z.ZodObject<{
139
135
  }>>, {
140
136
  window: string;
141
137
  enabled: boolean;
142
- grid: string;
143
138
  max: number;
139
+ grid: string;
144
140
  leads: number[];
145
141
  }, {
146
142
  window?: string | undefined;
147
143
  enabled?: boolean | undefined;
148
- grid?: string | undefined;
149
144
  max?: number | undefined;
145
+ grid?: string | undefined;
150
146
  leads?: number[] | {
151
147
  top?: number | undefined;
152
148
  bottom?: number | undefined;
153
149
  } | undefined;
154
150
  } | undefined>;
155
151
  }, "strip", z.ZodTypeAny, {
156
- nvim: {
157
- window: string;
158
- enabled: boolean;
159
- };
160
152
  base: {
161
153
  window: string;
162
- columns: ("manager" | "manager-2" | "secretary")[];
154
+ columns: string[];
163
155
  coordSync: {
164
156
  reload: boolean;
165
157
  attach: boolean;
166
158
  };
167
- cli?: {
168
- manager?: string | undefined;
169
- "manager-2"?: string | undefined;
170
- secretary?: string | undefined;
171
- } | undefined;
159
+ kinds?: Record<string, "manager" | "secretary" | "worker" | "mini"> | undefined;
160
+ cli?: Record<string, string> | undefined;
161
+ humanCoTyped?: string[] | undefined;
172
162
  secretaryWidthPct?: number | undefined;
173
163
  };
164
+ nvim: {
165
+ window: string;
166
+ enabled: boolean;
167
+ };
174
168
  workers: {
175
169
  window: string;
176
170
  enabled: boolean;
177
- grid: "3x2";
171
+ grid: string;
178
172
  slots: number;
179
173
  };
180
174
  minis: {
181
175
  window: string;
182
176
  enabled: boolean;
183
- grid: string;
184
177
  max: number;
178
+ grid: string;
185
179
  leads: number[];
186
180
  };
187
181
  }, {
188
- nvim?: {
189
- window?: string | undefined;
190
- enabled?: boolean | undefined;
191
- } | undefined;
192
182
  base?: {
193
183
  window?: string | undefined;
194
- columns?: ("manager" | "manager-2" | "secretary")[] | undefined;
195
- cli?: {
196
- manager?: string | undefined;
197
- "manager-2"?: string | undefined;
198
- secretary?: string | undefined;
199
- } | undefined;
184
+ columns?: string[] | undefined;
185
+ kinds?: Record<string, "manager" | "secretary" | "worker" | "mini"> | undefined;
186
+ cli?: Record<string, string> | undefined;
187
+ humanCoTyped?: string[] | undefined;
200
188
  secretaryWidthPct?: number | undefined;
201
189
  coordSync?: {
202
190
  reload?: boolean | undefined;
203
191
  attach?: boolean | undefined;
204
192
  } | undefined;
205
193
  } | undefined;
194
+ nvim?: {
195
+ window?: string | undefined;
196
+ enabled?: boolean | undefined;
197
+ } | undefined;
206
198
  workers?: {
207
- grid: "3x2";
208
199
  window?: string | undefined;
209
200
  enabled?: boolean | undefined;
201
+ grid?: string | undefined;
210
202
  slots?: number | undefined;
211
203
  } | undefined;
212
204
  minis?: {
213
205
  window?: string | undefined;
214
206
  enabled?: boolean | undefined;
215
- grid?: string | undefined;
216
207
  max?: number | undefined;
208
+ grid?: string | undefined;
217
209
  leads?: number[] | {
218
210
  top?: number | undefined;
219
211
  bottom?: number | undefined;
@@ -312,45 +304,15 @@ export declare const MeshProfileSchema: z.ZodObject<{
312
304
  seats: z.ZodObject<{
313
305
  root: z.ZodDefault<z.ZodString>;
314
306
  templates: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
315
- dirs: z.ZodDefault<z.ZodObject<{
316
- manager: z.ZodDefault<z.ZodString>;
317
- "manager-2": z.ZodOptional<z.ZodString>;
318
- secretary: z.ZodDefault<z.ZodString>;
319
- worker: z.ZodDefault<z.ZodString>;
320
- mini: z.ZodDefault<z.ZodString>;
321
- }, "strip", z.ZodTypeAny, {
322
- manager: string;
323
- secretary: string;
324
- worker: string;
325
- mini: string;
326
- "manager-2"?: string | undefined;
327
- }, {
328
- manager?: string | undefined;
329
- "manager-2"?: string | undefined;
330
- secretary?: string | undefined;
331
- worker?: string | undefined;
332
- mini?: string | undefined;
333
- }>>;
307
+ dirs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
334
308
  }, "strip", z.ZodTypeAny, {
335
309
  root: string;
336
310
  templates: string[];
337
- dirs: {
338
- manager: string;
339
- secretary: string;
340
- worker: string;
341
- mini: string;
342
- "manager-2"?: string | undefined;
343
- };
311
+ dirs: Record<string, string>;
344
312
  }, {
345
313
  root?: string | undefined;
346
314
  templates?: string[] | undefined;
347
- dirs?: {
348
- manager?: string | undefined;
349
- "manager-2"?: string | undefined;
350
- secretary?: string | undefined;
351
- worker?: string | undefined;
352
- mini?: string | undefined;
353
- } | undefined;
315
+ dirs?: Record<string, string> | undefined;
354
316
  }>;
355
317
  state: z.ZodObject<{
356
318
  /** Optional read-only seed file until mesh-agents.json exists. */
@@ -423,6 +385,21 @@ export declare const MeshProfileSchema: z.ZodObject<{
423
385
  }, {
424
386
  dir?: string | undefined;
425
387
  }>;
388
+ /** AGENT-FUNC-GUARDS.md func registry — `./sm.sh func <id> <args>` attached externals. */
389
+ external: z.ZodDefault<z.ZodObject<{
390
+ default: z.ZodDefault<z.ZodEnum<["allow", "deny"]>>;
391
+ }, "strip", z.ZodTypeAny, {
392
+ default: "allow" | "deny";
393
+ }, {
394
+ default?: "allow" | "deny" | undefined;
395
+ }>>;
396
+ funcs: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
397
+ command: z.ZodString;
398
+ }, "strip", z.ZodTypeAny, {
399
+ command: string;
400
+ }, {
401
+ command: string;
402
+ }>>>;
426
403
  data: z.ZodOptional<z.ZodObject<{
427
404
  /** Runtime root — relative to profileDir when paths.scope=profile (default runtime). */
428
405
  root: z.ZodDefault<z.ZodString>;
@@ -811,17 +788,11 @@ export declare const MeshProfileSchema: z.ZodObject<{
811
788
  };
812
789
  backend: "sqlite" | "jsonl";
813
790
  };
814
- providers: ("empty" | "cursor-agent" | "kiro" | "claude" | "opencode")[];
791
+ providers: ("empty" | "opencode" | "cursor-agent" | "kiro" | "claude")[];
815
792
  seats: {
816
793
  root: string;
817
794
  templates: string[];
818
- dirs: {
819
- manager: string;
820
- secretary: string;
821
- worker: string;
822
- mini: string;
823
- "manager-2"?: string | undefined;
824
- };
795
+ dirs: Record<string, string>;
825
796
  };
826
797
  state: {
827
798
  agentsJson: string;
@@ -847,36 +818,40 @@ export declare const MeshProfileSchema: z.ZodObject<{
847
818
  roles: {
848
819
  dir: string;
849
820
  };
821
+ external: {
822
+ default: "allow" | "deny";
823
+ };
824
+ funcs: Record<string, {
825
+ command: string;
826
+ }>;
850
827
  layout?: {
851
- nvim: {
852
- window: string;
853
- enabled: boolean;
854
- };
855
828
  base: {
856
829
  window: string;
857
- columns: ("manager" | "manager-2" | "secretary")[];
830
+ columns: string[];
858
831
  coordSync: {
859
832
  reload: boolean;
860
833
  attach: boolean;
861
834
  };
862
- cli?: {
863
- manager?: string | undefined;
864
- "manager-2"?: string | undefined;
865
- secretary?: string | undefined;
866
- } | undefined;
835
+ kinds?: Record<string, "manager" | "secretary" | "worker" | "mini"> | undefined;
836
+ cli?: Record<string, string> | undefined;
837
+ humanCoTyped?: string[] | undefined;
867
838
  secretaryWidthPct?: number | undefined;
868
839
  };
840
+ nvim: {
841
+ window: string;
842
+ enabled: boolean;
843
+ };
869
844
  workers: {
870
845
  window: string;
871
846
  enabled: boolean;
872
- grid: "3x2";
847
+ grid: string;
873
848
  slots: number;
874
849
  };
875
850
  minis: {
876
851
  window: string;
877
852
  enabled: boolean;
878
- grid: string;
879
853
  max: number;
854
+ grid: string;
880
855
  leads: number[];
881
856
  };
882
857
  } | undefined;
@@ -978,13 +953,7 @@ export declare const MeshProfileSchema: z.ZodObject<{
978
953
  seats: {
979
954
  root?: string | undefined;
980
955
  templates?: string[] | undefined;
981
- dirs?: {
982
- manager?: string | undefined;
983
- "manager-2"?: string | undefined;
984
- secretary?: string | undefined;
985
- worker?: string | undefined;
986
- mini?: string | undefined;
987
- } | undefined;
956
+ dirs?: Record<string, string> | undefined;
988
957
  };
989
958
  state: {
990
959
  agentsJson?: string | undefined;
@@ -995,35 +964,33 @@ export declare const MeshProfileSchema: z.ZodObject<{
995
964
  dir?: string | undefined;
996
965
  };
997
966
  layout?: {
998
- nvim?: {
999
- window?: string | undefined;
1000
- enabled?: boolean | undefined;
1001
- } | undefined;
1002
967
  base?: {
1003
968
  window?: string | undefined;
1004
- columns?: ("manager" | "manager-2" | "secretary")[] | undefined;
1005
- cli?: {
1006
- manager?: string | undefined;
1007
- "manager-2"?: string | undefined;
1008
- secretary?: string | undefined;
1009
- } | undefined;
969
+ columns?: string[] | undefined;
970
+ kinds?: Record<string, "manager" | "secretary" | "worker" | "mini"> | undefined;
971
+ cli?: Record<string, string> | undefined;
972
+ humanCoTyped?: string[] | undefined;
1010
973
  secretaryWidthPct?: number | undefined;
1011
974
  coordSync?: {
1012
975
  reload?: boolean | undefined;
1013
976
  attach?: boolean | undefined;
1014
977
  } | undefined;
1015
978
  } | undefined;
979
+ nvim?: {
980
+ window?: string | undefined;
981
+ enabled?: boolean | undefined;
982
+ } | undefined;
1016
983
  workers?: {
1017
- grid: "3x2";
1018
984
  window?: string | undefined;
1019
985
  enabled?: boolean | undefined;
986
+ grid?: string | undefined;
1020
987
  slots?: number | undefined;
1021
988
  } | undefined;
1022
989
  minis?: {
1023
990
  window?: string | undefined;
1024
991
  enabled?: boolean | undefined;
1025
- grid?: string | undefined;
1026
992
  max?: number | undefined;
993
+ grid?: string | undefined;
1027
994
  leads?: number[] | {
1028
995
  top?: number | undefined;
1029
996
  bottom?: number | undefined;
@@ -1049,7 +1016,7 @@ export declare const MeshProfileSchema: z.ZodObject<{
1049
1016
  } | undefined;
1050
1017
  backend?: "sqlite" | "jsonl" | undefined;
1051
1018
  } | undefined;
1052
- providers?: ("empty" | "cursor-agent" | "kiro" | "claude" | "opencode")[] | undefined;
1019
+ providers?: ("empty" | "opencode" | "cursor-agent" | "kiro" | "claude")[] | undefined;
1053
1020
  daemon?: {
1054
1021
  port?: number | undefined;
1055
1022
  portScope?: "profile" | "workspace" | undefined;
@@ -1066,6 +1033,12 @@ export declare const MeshProfileSchema: z.ZodObject<{
1066
1033
  ports?: {
1067
1034
  worker?: string | undefined;
1068
1035
  } | undefined;
1036
+ external?: {
1037
+ default?: "allow" | "deny" | undefined;
1038
+ } | undefined;
1039
+ funcs?: Record<string, {
1040
+ command: string;
1041
+ }> | undefined;
1069
1042
  data?: {
1070
1043
  root?: string | undefined;
1071
1044
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/schema/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,wBAAwB;;;;;IAK5B,+FAA+F;;;;;;;;;;;;;;EAE/F,CAAC;AA0DH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAM1B,uFAAuF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA3BvF,gFAAgF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoEhF,kEAAkE;;QAElE,0DAA0D;;QAE1D,6EAA6E;;;;;;;;;;;;QAK3E,wCAAwC;;QAExC,6DAA6D;;;;QAI7D,qFAAqF;;QAErF,6FAA6F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA5F/F,wFAAwF;;;;;;;;;;QAoHtF,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YApJrE,+FAA+F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgK3F,2EAA2E;;;;;YAMvE,4EAA4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBpF,gFAAgF;;;;;;;;;;;IAOhF;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/schema/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,wBAAwB;;;;;IAK5B,+FAA+F;;;;;;;;;;;;;;EAE/F,CAAC;AA0DH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAM1B,uFAAuF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA3BvF,gFAAgF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA8DhF,kEAAkE;;QAElE,0DAA0D;;QAE1D,6EAA6E;;;;;;;;;;;;QAK3E,wCAAwC;;QAExC,6DAA6D;;;;QAI7D,qFAAqF;;QAErF,6FAA6F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmBjG,0FAA0F;;;;;;;;;;;;;;;;QAzGxF,wFAAwF;;;;;;;;;;QAqHtF,iEAAiE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YArJrE,+FAA+F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAiK3F,2EAA2E;;;;;YAMvE,4EAA4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiBpF,gFAAgF;;;;;;;;;;;IAOhF;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -92,13 +92,7 @@ export const MeshProfileSchema = z.object({
92
92
  root: z.string().default("seats"),
93
93
  templates: z.array(z.string()).default(["FOCUS", "TASKS", "REMINDER"]),
94
94
  dirs: z
95
- .object({
96
- manager: z.string().default("manager"),
97
- "manager-2": z.string().optional(),
98
- secretary: z.string().default("secretary"),
99
- worker: z.string().default("slot-{n}"),
100
- mini: z.string().default("mini-{n}"),
101
- })
95
+ .record(z.string(), z.string())
102
96
  .default({
103
97
  manager: "manager",
104
98
  secretary: "secretary",
@@ -143,6 +137,13 @@ export const MeshProfileSchema = z.object({
143
137
  roles: z.object({
144
138
  dir: z.string().default("roles"),
145
139
  }),
140
+ /** AGENT-FUNC-GUARDS.md func registry — `./sm.sh func <id> <args>` attached externals. */
141
+ external: z
142
+ .object({
143
+ default: z.enum(["allow", "deny"]).default("allow"),
144
+ })
145
+ .default({}),
146
+ funcs: z.record(z.string(), z.object({ command: z.string() })).default({}),
146
147
  data: DataRootSchema,
147
148
  connectivity: z
148
149
  .object({
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/schema/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/schema/profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Seat kinds are closed. Column / instance ids are open strings from the profile.
3
+ * Consumer column ids are config, not engine enum members.
4
+ */
5
+ export declare const SEAT_KINDS: readonly ["manager", "secretary", "worker", "mini"];
6
+ export type SeatKind = (typeof SEAT_KINDS)[number];
7
+ /** Stable column id from the profile (`manager`, `lead-west`, …). */
8
+ export declare const COLUMN_ID_RE: RegExp;
9
+ export type ColumnKinds = Record<string, SeatKind>;
10
+ export declare function isSeatKind(v: string): v is SeatKind;
11
+ /** Compact `nameN` <-> hyphen `name-N` (any prefix + digits). */
12
+ export declare function expandColumnAlias(raw: string): string[];
13
+ /**
14
+ * Kind for a pane role / column id.
15
+ * Profile `layout.base.kinds` wins; else prefix: secretary-* / mini-* / slot-* / worker-*;
16
+ * any other base column id is manager-class (so N leads need no enum).
17
+ */
18
+ export declare function seatKindFromId(id: string, kinds?: ColumnKinds | null): SeatKind;
19
+ export declare function isManagerKind(id: string, kinds?: ColumnKinds | null): boolean;
20
+ export declare function isSecretaryKind(id: string, kinds?: ColumnKinds | null): boolean;
21
+ export declare function isCoordKind(id: string, kinds?: ColumnKinds | null): boolean;
22
+ export declare function defaultCliForKind(kind: SeatKind): string;
23
+ export interface LayoutColumnsInput {
24
+ base?: {
25
+ columns?: string[];
26
+ kinds?: ColumnKinds;
27
+ humanCoTyped?: string[];
28
+ };
29
+ }
30
+ export declare function baseColumnIds(layout?: LayoutColumnsInput | null): string[];
31
+ export declare function managerColumnIds(layout?: LayoutColumnsInput | null): string[];
32
+ export declare function secretaryColumnIds(layout?: LayoutColumnsInput | null): string[];
33
+ export declare function primaryManagerColumn(layout?: LayoutColumnsInput | null): string;
34
+ export declare function primarySecretaryColumn(layout?: LayoutColumnsInput | null): string;
35
+ /**
36
+ * Base columns where a human directly co-types in the same pane as the CLI
37
+ * (FQ-inject-co-typed-pane). Profile `layout.base.humanCoTyped` wins; unset
38
+ * defaults to `[]` — set `layout.base.humanCoTyped` in the consumer profile.
39
+ */
40
+ export declare function humanCoTypedColumnIds(layout?: LayoutColumnsInput | null): string[];
41
+ export declare function isHumanCoTypedColumn(id: string, layout?: LayoutColumnsInput | null): boolean;
42
+ export declare function seatDirSegment(dirs: Record<string, string> | undefined, columnId: string): string;
43
+ //# sourceMappingURL=seat-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seat-kind.d.ts","sourceRoot":"","sources":["../../src/schema/seat-kind.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,UAAU,qDAAsD,CAAC;AAC9E,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnD,qEAAqE;AACrE,eAAO,MAAM,YAAY,QAA2B,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEnD,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,QAAQ,CAEnD;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAUvD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,QAAQ,CAe/E;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAE7E;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAE/E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAG3E;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAExD;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAED,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,MAAM,EAAE,CAG1E;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,MAAM,EAAE,CAG7E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,MAAM,EAAE,CAG/E;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,MAAM,CAE/E;AAED,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,MAAM,CAEjF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,MAAM,EAAE,CAGlF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAG5F;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EACxC,QAAQ,EAAE,MAAM,GACf,MAAM,CAER"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Seat kinds are closed. Column / instance ids are open strings from the profile.
3
+ * Consumer column ids are config, not engine enum members.
4
+ */
5
+ export const SEAT_KINDS = ["manager", "secretary", "worker", "mini"];
6
+ /** Stable column id from the profile (`manager`, `lead-west`, …). */
7
+ export const COLUMN_ID_RE = /^[a-z][a-z0-9-]{0,31}$/;
8
+ export function isSeatKind(v) {
9
+ return SEAT_KINDS.includes(v);
10
+ }
11
+ /** Compact `nameN` <-> hyphen `name-N` (any prefix + digits). */
12
+ export function expandColumnAlias(raw) {
13
+ const t = raw.trim().toLowerCase();
14
+ if (!t)
15
+ return [];
16
+ const out = new Set([t]);
17
+ if (t === "master")
18
+ out.add("manager");
19
+ const compact = t.match(/^([a-z]+)(\d+)$/);
20
+ if (compact)
21
+ out.add(`${compact[1]}-${compact[2]}`);
22
+ const hyphen = t.match(/^([a-z]+)-(\d+)$/);
23
+ if (hyphen)
24
+ out.add(`${hyphen[1]}${hyphen[2]}`);
25
+ return [...out];
26
+ }
27
+ /**
28
+ * Kind for a pane role / column id.
29
+ * Profile `layout.base.kinds` wins; else prefix: secretary-* / mini-* / slot-* / worker-*;
30
+ * any other base column id is manager-class (so N leads need no enum).
31
+ */
32
+ export function seatKindFromId(id, kinds) {
33
+ const raw = id.trim().toLowerCase();
34
+ if (!raw)
35
+ return "worker";
36
+ if (kinds?.[raw] && isSeatKind(kinds[raw]))
37
+ return kinds[raw];
38
+ for (const alias of expandColumnAlias(raw)) {
39
+ if (kinds?.[alias] && isSeatKind(kinds[alias]))
40
+ return kinds[alias];
41
+ }
42
+ if (raw === "master")
43
+ return "manager";
44
+ if (raw === "manager-mini" || raw === "mini" || raw.startsWith("mini-"))
45
+ return "mini";
46
+ if (raw === "worker" || raw.startsWith("slot-") || raw.startsWith("worker-")) {
47
+ return "worker";
48
+ }
49
+ if (raw === "secretary" || raw.startsWith("secretary-"))
50
+ return "secretary";
51
+ if (raw === "manager" || raw.startsWith("manager-"))
52
+ return "manager";
53
+ return "manager";
54
+ }
55
+ export function isManagerKind(id, kinds) {
56
+ return seatKindFromId(id, kinds) === "manager";
57
+ }
58
+ export function isSecretaryKind(id, kinds) {
59
+ return seatKindFromId(id, kinds) === "secretary";
60
+ }
61
+ export function isCoordKind(id, kinds) {
62
+ const k = seatKindFromId(id, kinds);
63
+ return k === "manager" || k === "secretary";
64
+ }
65
+ export function defaultCliForKind(kind) {
66
+ return kind === "secretary" ? "opencode" : "agent";
67
+ }
68
+ export function baseColumnIds(layout) {
69
+ const cols = layout?.base?.columns;
70
+ return cols?.length ? [...cols] : ["manager", "secretary"];
71
+ }
72
+ export function managerColumnIds(layout) {
73
+ const kinds = layout?.base?.kinds;
74
+ return baseColumnIds(layout).filter((c) => isManagerKind(c, kinds));
75
+ }
76
+ export function secretaryColumnIds(layout) {
77
+ const kinds = layout?.base?.kinds;
78
+ return baseColumnIds(layout).filter((c) => isSecretaryKind(c, kinds));
79
+ }
80
+ export function primaryManagerColumn(layout) {
81
+ return managerColumnIds(layout)[0] ?? "manager";
82
+ }
83
+ export function primarySecretaryColumn(layout) {
84
+ return secretaryColumnIds(layout)[0] ?? "secretary";
85
+ }
86
+ /**
87
+ * Base columns where a human directly co-types in the same pane as the CLI
88
+ * (FQ-inject-co-typed-pane). Profile `layout.base.humanCoTyped` wins; unset
89
+ * defaults to `[]` — set `layout.base.humanCoTyped` in the consumer profile.
90
+ */
91
+ export function humanCoTypedColumnIds(layout) {
92
+ const explicit = layout?.base?.humanCoTyped;
93
+ return explicit?.length ? [...explicit] : [];
94
+ }
95
+ export function isHumanCoTypedColumn(id, layout) {
96
+ const raw = id.trim().toLowerCase();
97
+ return humanCoTypedColumnIds(layout).some((c) => c.trim().toLowerCase() === raw);
98
+ }
99
+ export function seatDirSegment(dirs, columnId) {
100
+ return dirs?.[columnId] ?? columnId;
101
+ }
102
+ //# sourceMappingURL=seat-kind.js.map