@unisonlabs/sixminute-admin 0.1.1176-next → 0.1.1179-next

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.
@@ -21,7 +21,7 @@ import { homedir } from "node:os";
21
21
  import { fileURLToPath } from "node:url";
22
22
 
23
23
  // tools/admin/src/build-info.ts
24
- var BUILT = { version: "0.1.1176-next", commit: "e29549bfa51d4f19c66265cb76647e6f40ce8064", surface: "481c62497e7a2c35" };
24
+ var BUILT = { version: "0.1.1179-next", commit: "2bab9bcb7d88be80c3c85eea25a24f86e87ec0f4", surface: "6002dfcedab0aa31" };
25
25
 
26
26
  // tools/admin/src/run.ts
27
27
  import { rmSync as rmSync3 } from "node:fs";
@@ -4218,7 +4218,8 @@ var MatterPartySchema = exports_external.object({
4218
4218
  role: RawWord,
4219
4219
  emails: WordList,
4220
4220
  contacts: exports_external.array(PartyContactSchema).default([]),
4221
- reference: RawWord
4221
+ reference: RawWord,
4222
+ external_refs: exports_external.array(exports_external.string().min(1)).optional()
4222
4223
  });
4223
4224
  var SyncSourceSchema = exports_external.enum([
4224
4225
  "manual",
@@ -4285,6 +4286,7 @@ var MatterSchema = exports_external.object({
4285
4286
  opened_at: TimestampSchema,
4286
4287
  closed_at: TimestampSchema.nullable().default(null),
4287
4288
  last_activity_at: TimestampSchema.nullable().default(null),
4289
+ firm_internal: exports_external.boolean().default(false),
4288
4290
  billing: MatterBillingSchema,
4289
4291
  attribute_sets: MatterAttributeSetsSchema.default({}),
4290
4292
  attribute_required: MatterAttributeRequiredSchema.default({}),
@@ -4504,7 +4506,8 @@ var PmsPartySchema = exports_external.object({
4504
4506
  role_name: exports_external.string().nullable().optional(),
4505
4507
  emails: exports_external.array(exports_external.string()).optional(),
4506
4508
  contacts: exports_external.array(PmsContactSchema).optional(),
4507
- reference: exports_external.string().nullable().optional()
4509
+ reference: exports_external.string().nullable().optional(),
4510
+ external_refs: exports_external.array(exports_external.string().min(1)).optional()
4508
4511
  });
4509
4512
  var PmsMatterSchema = exports_external.object({
4510
4513
  external_ref: exports_external.string().min(1),
@@ -5076,7 +5079,8 @@ var MatterInputSchema = MatterSchema.omit({
5076
5079
  created_at: true,
5077
5080
  updated_at: true,
5078
5081
  attribute_required: true,
5079
- narrative_language: true
5082
+ narrative_language: true,
5083
+ firm_internal: true
5080
5084
  }).extend({
5081
5085
  id: MatterSchema.shape.id.optional(),
5082
5086
  opened_at: MatterSchema.shape.opened_at.optional()
@@ -5085,8 +5089,10 @@ var MatterPatchSchema = MatterSchema.omit({
5085
5089
  id: true,
5086
5090
  created_at: true,
5087
5091
  updated_at: true,
5088
- attribute_required: true
5092
+ attribute_required: true,
5093
+ firm_internal: true
5089
5094
  }).partial();
5095
+ var FirmInternalPutSchema = exports_external.object({ firm_internal: exports_external.boolean() });
5090
5096
  var AttributeSetPutSchema = AttributeSetSchema.omit({ updated_at: true });
5091
5097
  var AttributeSetsQuerySchema = exports_external.object({ attribute: AttributeKeySchema.optional() });
5092
5098
  var MatterImportSchema = exports_external.object({
@@ -5104,7 +5110,8 @@ var MatterImportSchema = exports_external.object({
5104
5110
  closed_at: true,
5105
5111
  last_activity_at: true,
5106
5112
  attribute_required: true,
5107
- narrative_language: true
5113
+ narrative_language: true,
5114
+ firm_internal: true
5108
5115
  }).extend({ opened_at: TimestampSchema.optional() })))
5109
5116
  })))
5110
5117
  });
@@ -5331,7 +5338,8 @@ var CompletionPurposeSchema = exports_external.enum([
5331
5338
  "merge",
5332
5339
  "merge_prose",
5333
5340
  "assign",
5334
- "judge"
5341
+ "judge",
5342
+ "judge_shortlist"
5335
5343
  ]);
5336
5344
  var CompletionDecisionSchema = exports_external.object({
5337
5345
  property: exports_external.string().min(1),
@@ -5911,7 +5919,8 @@ var JudgeTunablesSchema = exports_external.object({
5911
5919
  joinFewer: exports_external.number().min(0).max(1).optional(),
5912
5920
  joinDefault: exports_external.enum(["more", "balanced", "fewer"]).optional(),
5913
5921
  summaryMaxChars: exports_external.number().int().positive().optional(),
5914
- summaryStatedChars: exports_external.number().int().positive().optional()
5922
+ summaryStatedChars: exports_external.number().int().positive().optional(),
5923
+ shortlistDepth: exports_external.number().int().positive().optional()
5915
5924
  });
5916
5925
  var ServedJudgeTunablesSchema = JudgeTunablesSchema.extend({
5917
5926
  windowMinutes: exports_external.number(),
@@ -5944,6 +5953,8 @@ var ConfigPromptsSchema = exports_external.object({
5944
5953
  summary: SummaryPromptPartsSchema.optional(),
5945
5954
  matter: exports_external.string().min(1).optional(),
5946
5955
  matter_prior: exports_external.string().min(1).optional(),
5956
+ matter_own: exports_external.string().min(1).optional(),
5957
+ shortlist_judge: exports_external.string().min(1).optional(),
5947
5958
  block_boundary: exports_external.string().min(1).optional(),
5948
5959
  block_label: exports_external.string().min(1).optional(),
5949
5960
  join: exports_external.string().min(1).optional(),
@@ -7199,6 +7210,11 @@ is required; without one every command answers 403.
7199
7210
  sixminute-admin matter unarchive --env <env> --tenant tenant_... --matter matter_... [--json]
7200
7211
  Sets the matter inactive, or active again. A temporary matter with
7201
7212
  entries on it is refused: move the entries first.
7213
+ sixminute-admin matter internal --env <env> --tenant tenant_... --matter matter_... --on|--off [--json]
7214
+ Marks one matter as the firm's own (--on), so the matching lists it
7215
+ for every interval, or clears the mark (--off), and prints the matter
7216
+ as it now stands. Works on ANY firm, internal or not: the team sets up
7217
+ a pilot firm's internal matters during onboarding.
7202
7218
  sixminute-admin matters import --env <env> --tenant tenant_... --from-file tools/admin/examples/matters-import.json [--json]
7203
7219
  Clients with their matters, from a document: the file IS the body of
7204
7220
  POST /v1/matters/import, checked against its schema before anything is
@@ -7312,6 +7328,8 @@ var BOOLEAN_FLAGS = new Set([
7312
7328
  "password-stdin",
7313
7329
  "all",
7314
7330
  "timekeeper",
7331
+ "on",
7332
+ "off",
7315
7333
  "auto",
7316
7334
  "review"
7317
7335
  ]);
@@ -8072,6 +8090,17 @@ async function runMatter(run2, subcommand) {
8072
8090
  const matter = MatterSchema.parse(answer.body);
8073
8091
  return render(run2, { matter }, [actingHead(tenant, answer), ...matterLines(matter)]);
8074
8092
  }
8093
+ if (subcommand === "internal") {
8094
+ const id = required(flags, "matter", "which matter_... to mark (matter list prints them)");
8095
+ const [on, off] = [switched(flags, "on"), switched(flags, "off")];
8096
+ if (on === off)
8097
+ throw new AdminUsageError("say --on or --off: mark the matter as the firm's own, or clear the mark");
8098
+ const answer = await call(run2.api, "PUT", tenantPath(tenant, `/matters/${enc(id)}/firm-internal`), { firm_internal: on });
8099
+ if (answer.status !== 200)
8100
+ return refused(run2, answer, [actingHead(tenant, answer)]);
8101
+ const matter = MatterSchema.parse(answer.body);
8102
+ return render(run2, { matter }, [actingHead(tenant, answer), ...matterLines(matter), `internal ${matter.firm_internal ? "yes" : "no"}`]);
8103
+ }
8075
8104
  throw new AdminUsageError(`unknown command: matter ${subcommand ?? ""}`.trim());
8076
8105
  }
8077
8106
  async function runMattersImport(run2) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unisonlabs/sixminute-admin",
3
- "version": "0.1.1176-next",
3
+ "version": "0.1.1179-next",
4
4
  "description": "Sixminute operator tool: the admin commands of the Sixminute API, run with your own operator sign-in.",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {