slopwaresystems 0.9.2 → 0.9.3

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/dist/index.js CHANGED
@@ -146,7 +146,7 @@ function fetchLaunchCandidate(launcher2) {
146
146
  var path = fileURLToPath(import.meta.url);
147
147
  var launcher = {
148
148
  path,
149
- bundledVersion: "0.9.2",
149
+ bundledVersion: "0.9.3",
150
150
  bundledMain: fileURLToPath(new URL("./main.js", import.meta.url)),
151
151
  installed: isInstalledLauncherPath(path)
152
152
  };
package/dist/main.js CHANGED
@@ -26542,7 +26542,7 @@ var TaskEventRecord = external_exports.object({
26542
26542
  });
26543
26543
 
26544
26544
  // ../contract/src/work/cli-release.ts
26545
- var CLI_RELEASE = "0.9.2";
26545
+ var CLI_RELEASE = "0.9.3";
26546
26546
  var CLI_VERSION_PATTERN = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
26547
26547
  var CLI_VERSION_MAX = 64;
26548
26548
  function parseCliVersion(version2) {
@@ -27002,8 +27002,451 @@ function hashKey(key) {
27002
27002
  }
27003
27003
  return hash2;
27004
27004
  }
27005
+ var FIRST_NAMES = [
27006
+ "Agnes",
27007
+ "Albert",
27008
+ "Algernon",
27009
+ "Ambrose",
27010
+ "Archibald",
27011
+ "Arthur",
27012
+ "Augustus",
27013
+ "Barnaby",
27014
+ "Bartholomew",
27015
+ "Basil",
27016
+ "Beatrice",
27017
+ "Benedict",
27018
+ "Bernadette",
27019
+ "Bertha",
27020
+ "Bertram",
27021
+ "Beryl",
27022
+ "Blanche",
27023
+ "Boris",
27024
+ "Brenda",
27025
+ "Cecil",
27026
+ "Cedric",
27027
+ "Clarence",
27028
+ "Clementine",
27029
+ "Cornelius",
27030
+ "Cuthbert",
27031
+ "Cyril",
27032
+ "Daphne",
27033
+ "Delilah",
27034
+ "Denise",
27035
+ "Dennis",
27036
+ "Desmond",
27037
+ "Doreen",
27038
+ "Dorothy",
27039
+ "Doug",
27040
+ "Edgar",
27041
+ "Edith",
27042
+ "Edna",
27043
+ "Egbert",
27044
+ "Eleanor",
27045
+ "Elmer",
27046
+ "Enid",
27047
+ "Ernest",
27048
+ "Esmeralda",
27049
+ "Ethel",
27050
+ "Eugene",
27051
+ "Eunice",
27052
+ "Fenella",
27053
+ "Ferdinand",
27054
+ "Fergus",
27055
+ "Florence",
27056
+ "Frances",
27057
+ "Gareth",
27058
+ "Gary",
27059
+ "Geoffrey",
27060
+ "Gerald",
27061
+ "Gertrude",
27062
+ "Gilbert",
27063
+ "Gladys",
27064
+ "Glenda",
27065
+ "Gordon",
27066
+ "Graham",
27067
+ "Greg",
27068
+ "Gwendolyn",
27069
+ "Hank",
27070
+ "Harold",
27071
+ "Harriet",
27072
+ "Hazel",
27073
+ "Henrietta",
27074
+ "Herbert",
27075
+ "Hilda",
27076
+ "Horace",
27077
+ "Hortense",
27078
+ "Hubert",
27079
+ "Humphrey",
27080
+ "Ignatius",
27081
+ "Imelda",
27082
+ "Irene",
27083
+ "Irving",
27084
+ "Ivy",
27085
+ "Jasper",
27086
+ "Jeremiah",
27087
+ "Jocelyn",
27088
+ "Judith",
27089
+ "Karen",
27090
+ "Keith",
27091
+ "Kevin",
27092
+ "Lavinia",
27093
+ "Leonard",
27094
+ "Leopold",
27095
+ "Linda",
27096
+ "Lionel",
27097
+ "Lois",
27098
+ "Lorraine",
27099
+ "Lucinda",
27100
+ "Mabel",
27101
+ "Marjorie",
27102
+ "Martha",
27103
+ "Maude",
27104
+ "Maureen",
27105
+ "Mavis",
27106
+ "Melvin",
27107
+ "Mildred",
27108
+ "Miriam",
27109
+ "Montague",
27110
+ "Morris",
27111
+ "Muriel",
27112
+ "Myrtle",
27113
+ "Nancy",
27114
+ "Neville",
27115
+ "Nigel",
27116
+ "Norbert",
27117
+ "Norma",
27118
+ "Norman",
27119
+ "Octavia",
27120
+ "Ophelia",
27121
+ "Oswald",
27122
+ "Otto",
27123
+ "Pam",
27124
+ "Patricia",
27125
+ "Penelope",
27126
+ "Percival",
27127
+ "Petunia",
27128
+ "Phyllis",
27129
+ "Priscilla",
27130
+ "Prudence",
27131
+ "Quentin",
27132
+ "Reginald",
27133
+ "Rhonda",
27134
+ "Roderick",
27135
+ "Rosalind",
27136
+ "Rupert",
27137
+ "Sally",
27138
+ "Seymour",
27139
+ "Sheila",
27140
+ "Sidney",
27141
+ "Stanley",
27142
+ "Steve",
27143
+ "Susan",
27144
+ "Sybil",
27145
+ "Terrence",
27146
+ "Thaddeus",
27147
+ "Thelma",
27148
+ "Theodore",
27149
+ "Trevor",
27150
+ "Ursula",
27151
+ "Vernon",
27152
+ "Vivian",
27153
+ "Walter",
27154
+ "Wanda",
27155
+ "Wilbur",
27156
+ "Wilfred",
27157
+ "Winifred",
27158
+ "Yolanda",
27159
+ "Zebedee"
27160
+ ];
27161
+ var SURNAME_STARTS = [
27162
+ "Apple",
27163
+ "Badger",
27164
+ "Bagel",
27165
+ "Banjo",
27166
+ "Barley",
27167
+ "Batter",
27168
+ "Bean",
27169
+ "Biscuit",
27170
+ "Blanket",
27171
+ "Blister",
27172
+ "Blunder",
27173
+ "Bobble",
27174
+ "Bramble",
27175
+ "Brisket",
27176
+ "Bubble",
27177
+ "Bucket",
27178
+ "Buckle",
27179
+ "Bumble",
27180
+ "Bunion",
27181
+ "Butter",
27182
+ "Cabbage",
27183
+ "Candle",
27184
+ "Carrot",
27185
+ "Cheddar",
27186
+ "Chowder",
27187
+ "Chutney",
27188
+ "Clatter",
27189
+ "Clobber",
27190
+ "Cobble",
27191
+ "Cocoa",
27192
+ "Crinkle",
27193
+ "Crouton",
27194
+ "Crumble",
27195
+ "Crumpet",
27196
+ "Cuddle",
27197
+ "Custard",
27198
+ "Dabble",
27199
+ "Dither",
27200
+ "Doily",
27201
+ "Dollop",
27202
+ "Doodle",
27203
+ "Dribble",
27204
+ "Drizzle",
27205
+ "Dumpling",
27206
+ "Fiddle",
27207
+ "Fizzle",
27208
+ "Flannel",
27209
+ "Flapjack",
27210
+ "Flounder",
27211
+ "Fluster",
27212
+ "Fondue",
27213
+ "Fritter",
27214
+ "Fudge",
27215
+ "Fumble",
27216
+ "Gherkin",
27217
+ "Giggle",
27218
+ "Goose",
27219
+ "Grumble",
27220
+ "Gumbo",
27221
+ "Haddock",
27222
+ "Haggle",
27223
+ "Hiccup",
27224
+ "Hobble",
27225
+ "Honk",
27226
+ "Jumble",
27227
+ "Kettle",
27228
+ "Kipper",
27229
+ "Kumquat",
27230
+ "Lentil",
27231
+ "Lozenge",
27232
+ "Marmalade",
27233
+ "Meringue",
27234
+ "Mitten",
27235
+ "Muddle",
27236
+ "Muffin",
27237
+ "Mumble",
27238
+ "Mustard",
27239
+ "Noodle",
27240
+ "Nugget",
27241
+ "Nutmeg",
27242
+ "Oatmeal",
27243
+ "Paddle",
27244
+ "Pancake",
27245
+ "Parsnip",
27246
+ "Pebble",
27247
+ "Pickle",
27248
+ "Piffle",
27249
+ "Plonk",
27250
+ "Plum",
27251
+ "Porridge",
27252
+ "Pretzel",
27253
+ "Prune",
27254
+ "Pudding",
27255
+ "Puddle",
27256
+ "Quibble",
27257
+ "Radish",
27258
+ "Ramble",
27259
+ "Rattle",
27260
+ "Rhubarb",
27261
+ "Ruckus",
27262
+ "Rumble",
27263
+ "Rumple",
27264
+ "Sausage",
27265
+ "Scone",
27266
+ "Scribble",
27267
+ "Shuffle",
27268
+ "Snooze",
27269
+ "Snorkel",
27270
+ "Soggy",
27271
+ "Spatula",
27272
+ "Sprocket",
27273
+ "Squabble",
27274
+ "Squelch",
27275
+ "Stumble",
27276
+ "Tadpole",
27277
+ "Teacup",
27278
+ "Thimble",
27279
+ "Tickle",
27280
+ "Toast",
27281
+ "Toffee",
27282
+ "Trifle",
27283
+ "Trumpet",
27284
+ "Tumble",
27285
+ "Turnip",
27286
+ "Waddle",
27287
+ "Waffle",
27288
+ "Walnut",
27289
+ "Wiggle",
27290
+ "Wobble",
27291
+ "Yodel",
27292
+ "Zither"
27293
+ ];
27294
+ var SURNAME_ENDS = [
27295
+ "bank",
27296
+ "berry",
27297
+ "borough",
27298
+ "bottom",
27299
+ "bridge",
27300
+ "brook",
27301
+ "bury",
27302
+ "by",
27303
+ "combe",
27304
+ "dale",
27305
+ "ford",
27306
+ "field",
27307
+ "gate",
27308
+ "ham",
27309
+ "hampton",
27310
+ "hurst",
27311
+ "ington",
27312
+ "kins",
27313
+ "ley",
27314
+ "man",
27315
+ "mere",
27316
+ "more",
27317
+ "ridge",
27318
+ "shaw",
27319
+ "shire",
27320
+ "sley",
27321
+ "smith",
27322
+ "son",
27323
+ "stead",
27324
+ "stone",
27325
+ "thorpe",
27326
+ "ton",
27327
+ "wick",
27328
+ "wood",
27329
+ "worth"
27330
+ ];
27331
+ var TITLES = [
27332
+ "Admiral",
27333
+ "Archduke",
27334
+ "Aunt",
27335
+ "Baron",
27336
+ "Baroness",
27337
+ "Brigadier",
27338
+ "Captain",
27339
+ "Chancellor",
27340
+ "Colonel",
27341
+ "Commodore",
27342
+ "Count",
27343
+ "Countess",
27344
+ "Deputy",
27345
+ "Doctor",
27346
+ "Duchess",
27347
+ "Duke",
27348
+ "Earl",
27349
+ "Grand Vizier",
27350
+ "Inspector",
27351
+ "Lady",
27352
+ "Lord",
27353
+ "Madame",
27354
+ "Major",
27355
+ "Marquis",
27356
+ "Mayor",
27357
+ "Monsieur",
27358
+ "Nana",
27359
+ "Professor",
27360
+ "Reverend",
27361
+ "Sergeant",
27362
+ "Sir",
27363
+ "Uncle",
27364
+ "Viscount"
27365
+ ];
27366
+ var NICKNAMES = [
27367
+ "Beans",
27368
+ "Biscuits",
27369
+ "Buttons",
27370
+ "Chowder",
27371
+ "Crumbs",
27372
+ "Custard",
27373
+ "Dumpling",
27374
+ "Fizz",
27375
+ "Gravy",
27376
+ "Hiccups",
27377
+ "Jellybean",
27378
+ "Lasagna",
27379
+ "Meatball",
27380
+ "Mittens",
27381
+ "Noodles",
27382
+ "Nugget",
27383
+ "Pancakes",
27384
+ "Pickles",
27385
+ "Pretzel",
27386
+ "Pudding",
27387
+ "Sprinkles",
27388
+ "Tadpole",
27389
+ "Toast",
27390
+ "Turbo",
27391
+ "Two Spoons",
27392
+ "Waffles",
27393
+ "Wobbles",
27394
+ "Yikes"
27395
+ ];
27396
+ var EPITHETS = [
27397
+ "the Adequate",
27398
+ "the Bewildered",
27399
+ "the Damp",
27400
+ "the Dubious",
27401
+ "the Easily Startled",
27402
+ "the Forgetful",
27403
+ "the Fussy",
27404
+ "the Hesitant",
27405
+ "the Improbable",
27406
+ "the Inevitable",
27407
+ "the Irregular",
27408
+ "the Lukewarm",
27409
+ "the Magnificent",
27410
+ "the Mildly Alarmed",
27411
+ "the Moist",
27412
+ "the Overcaffeinated",
27413
+ "the Peckish",
27414
+ "the Perplexed",
27415
+ "the Punctual",
27416
+ "the Reluctant",
27417
+ "the Rumpled",
27418
+ "the Slightly Late",
27419
+ "the Soggy",
27420
+ "the Suspicious",
27421
+ "the Unbothered",
27422
+ "the Unready",
27423
+ "the Unyielding",
27424
+ "the Wobbly",
27425
+ "of the Marsh",
27426
+ "of the Tupperware",
27427
+ "of the Third Drawer",
27428
+ "of Lesser Importance",
27429
+ "Who Means Well",
27430
+ "Esq.",
27431
+ "the Pretty Sure",
27432
+ "the Well-Meaning",
27433
+ "the Absent-Minded",
27434
+ "the Almost Finished"
27435
+ ];
27436
+ function generateNamePart(parts, key, part) {
27437
+ return parts[hashKey(`${part}\0${key}`) % parts.length] ?? parts[0];
27438
+ }
27439
+ function generateSurname(key) {
27440
+ return generateNamePart(SURNAME_STARTS, key, "start") + generateNamePart(SURNAME_ENDS, key, "end");
27441
+ }
27005
27442
  function generateAgentName(key) {
27006
- return AGENT_NAMES[hashKey(key) % AGENT_NAMES.length] ?? AGENT_NAMES[0];
27443
+ const style = hashKey(`style\0${key}`) % 100;
27444
+ const first = generateNamePart(FIRST_NAMES, key, "first");
27445
+ if (style < 6) return AGENT_NAMES[hashKey(key) % AGENT_NAMES.length] ?? AGENT_NAMES[0];
27446
+ if (style < 26) return `${generateNamePart(TITLES, key, "title")} ${first} ${generateSurname(key)}`;
27447
+ if (style < 44) return `${first} "${generateNamePart(NICKNAMES, key, "nickname")}" ${generateSurname(key)}`;
27448
+ if (style < 66) return `${first} ${generateSurname(key)} ${generateNamePart(EPITHETS, key, "epithet")}`;
27449
+ return `${first} ${generateSurname(key)}`;
27007
27450
  }
27008
27451
  var WORKER_TITLES = [
27009
27452
  (parent) => `${parent} Jr.`,
@@ -29011,7 +29454,7 @@ function resolveAgentIdentity(cwd, fallback = "process") {
29011
29454
  harness: conversation?.harness ?? null,
29012
29455
  directory: repo ? basename3(repo.worktree) : basename3(cwd),
29013
29456
  branch: fetchCurrentBranch(cwd),
29014
- cliVersion: "0.9.2"
29457
+ cliVersion: "0.9.3"
29015
29458
  };
29016
29459
  }
29017
29460
 
@@ -29675,7 +30118,7 @@ function buildUpdateNotice() {
29675
30118
  }
29676
30119
  function resolveLatestCliVersion() {
29677
30120
  const deprecated = fetchDeprecatedVersions();
29678
- return sortCliVersions([CLI_RELEASE, "0.9.2", fetchUpdateStatus().latest ?? CLI_RELEASE]).filter((version2) => !deprecated.has(version2)).at(-1) ?? CLI_RELEASE;
30121
+ return sortCliVersions([CLI_RELEASE, "0.9.3", fetchUpdateStatus().latest ?? CLI_RELEASE]).filter((version2) => !deprecated.has(version2)).at(-1) ?? CLI_RELEASE;
29679
30122
  }
29680
30123
  function formatAgentCliVersion(version2, latest = resolveLatestCliVersion()) {
29681
30124
  const label = version2 ? `slop ${version2}` : "an older slop";
@@ -30111,7 +30554,7 @@ async function updateInstalledCliFromRegistry(launcher, options2) {
30111
30554
  const running = fetchLaunchCandidate(launcher).version;
30112
30555
  const action = running === previous ? "current" : isNewerVersion(running, previous) ? "updated" : "rolled-back";
30113
30556
  const latest = resolveNewestOfferedRelease(index);
30114
- deleteUnusedVersions(/* @__PURE__ */ new Set([running, previous, current, launcher.bundledVersion, "0.9.2"]));
30557
+ deleteUnusedVersions(/* @__PURE__ */ new Set([running, previous, current, launcher.bundledVersion, "0.9.3"]));
30115
30558
  persistUpdateStatus({ checkedAt: now(), latest, failures: 0, lastError: null });
30116
30559
  return { action, running, previous, latest };
30117
30560
  } catch (error62) {
@@ -30918,7 +31361,7 @@ function watchLaunchTarget(onChange) {
30918
31361
  }
30919
31362
  function runMcpRelay() {
30920
31363
  const launcher = readLauncherInfo();
30921
- const own2 = { version: "0.9.2", main: fileURLToPath(import.meta.url), downloaded: false };
31364
+ const own2 = { version: "0.9.3", main: fileURLToPath(import.meta.url), downloaded: false };
30922
31365
  const relay = new McpRelay({
30923
31366
  input: process.stdin,
30924
31367
  output: process.stdout,
@@ -31359,7 +31802,7 @@ async function waitForMessage(api, projectId, taskKey, options2 = {}) {
31359
31802
  setTimeout(() => resolve6(outcome), 50);
31360
31803
  };
31361
31804
  const held = new HeldSession(api, projectId, taskKey, {
31362
- claim: () => options2.claim ?? { harness: null, directory: null, branch: null, cliVersion: "0.9.2" },
31805
+ claim: () => options2.claim ?? { harness: null, directory: null, branch: null, cliVersion: "0.9.3" },
31363
31806
  reconnect: false,
31364
31807
  onHello: options2.onHello,
31365
31808
  onEnd: () => finishWait({ kind: "ended" }),
@@ -34945,7 +35388,7 @@ var SplatRendererConnection = class {
34945
35388
  try {
34946
35389
  let path3;
34947
35390
  try {
34948
- const ticket = await this.api.post(`/projects/${this.projectId}/splat/renderer/ticket`, ApiResponses.ConnectTicket, { cliVersion: "0.9.2", onlyMe: this.options.onlyMe ?? false, agent: this.options.agent ?? null, capabilities: ["workspaces"] });
35391
+ const ticket = await this.api.post(`/projects/${this.projectId}/splat/renderer/ticket`, ApiResponses.ConnectTicket, { cliVersion: "0.9.3", onlyMe: this.options.onlyMe ?? false, agent: this.options.agent ?? null, capabilities: ["workspaces"] });
34949
35392
  path3 = ticket.path;
34950
35393
  } catch (error62) {
34951
35394
  if (error62 instanceof CliError && ["unauthenticated", "not_found", "forbidden", "bad_request"].includes(error62.code)) {
@@ -36978,17 +37421,17 @@ function hasHarnessSetup() {
36978
37421
  function syncMachineSetupAfterUpdate() {
36979
37422
  const nothing = { skills: [], retired: [], reinstalling: false };
36980
37423
  try {
36981
- if (!isUpdateCheckEnabled() || fetchMachineSetupState()?.version === "0.9.2") return nothing;
37424
+ if (!isUpdateCheckEnabled() || fetchMachineSetupState()?.version === "0.9.3") return nothing;
36982
37425
  const lock = claimFileLock(buildMachineSetupLockDirectory(), { staleAfterMs: 6e4 });
36983
37426
  if (!lock) return nothing;
36984
37427
  try {
36985
37428
  const state = fetchMachineSetupState();
36986
- if (state?.version === "0.9.2") return nothing;
37429
+ if (state?.version === "0.9.3") return nothing;
36987
37430
  const skills = hasInstalledSkills() ? installSkills() : [];
36988
37431
  const shipped = Object.keys(SKILLS);
36989
37432
  const retired = deleteRetiredSkills((state?.skills ?? []).filter((name) => !shipped.includes(name)));
36990
37433
  const setupRevision = state?.setupRevision ?? (hasHarnessSetup() ? UNRECORDED_SETUP_REVISION : null);
36991
- persistMachineSetupState({ version: "0.9.2", setupRevision, skills: hasInstalledSkills() ? shipped : [] });
37434
+ persistMachineSetupState({ version: "0.9.3", setupRevision, skills: hasInstalledSkills() ? shipped : [] });
36992
37435
  const reinstalling = setupRevision !== null && setupRevision < SETUP_REVISION && runMcpInstallInBackground();
36993
37436
  return { skills, retired, reinstalling };
36994
37437
  } finally {
@@ -37155,7 +37598,7 @@ async function trustCodexHooks(codexHome) {
37155
37598
  const sendNotification = (method, params) => server.stdin.write(`${JSON.stringify({ jsonrpc: "2.0", method, params })}
37156
37599
  `);
37157
37600
  try {
37158
- await callCodexMethod("initialize", { clientInfo: { name: "slop", version: "0.9.2" }, capabilities: { experimentalApi: true } });
37601
+ await callCodexMethod("initialize", { clientInfo: { name: "slop", version: "0.9.3" }, capabilities: { experimentalApi: true } });
37159
37602
  sendNotification("initialized", {});
37160
37603
  const listed = await callCodexMethod("hooks/list", { cwds: [process.cwd()] });
37161
37604
  const ours = listed.data.flatMap((entry) => entry.hooks).filter((hook) => hook.command?.startsWith("slop hook "));
@@ -37420,7 +37863,7 @@ var options = optionEnd < 0 ? args : args.slice(0, optionEnd);
37420
37863
  updateJsonMode(options.includes("--json"));
37421
37864
  syncMachineSetupAfterUpdate();
37422
37865
  if (!options.includes("--background") && !options.includes("--child")) scheduleBackgroundUpdate();
37423
- var program2 = new Command().name("slop").description("Slopware Tasks from the terminal. Everything a person can do on the board, an agent can do here.").version("0.9.2").option("--json", "machine-readable output: JSON on stdout, errors as JSON on stderr").configureOutput({
37866
+ var program2 = new Command().name("slop").description("Slopware Tasks from the terminal. Everything a person can do on the board, an agent can do here.").version("0.9.3").option("--json", "machine-readable output: JSON on stdout, errors as JSON on stderr").configureOutput({
37424
37867
  outputError: (message, write) => {
37425
37868
  if (!isJsonMode()) write(message);
37426
37869
  },
@@ -37437,7 +37880,7 @@ var sessionCommand = registerSessionCommands(program2);
37437
37880
  registerThreadCommands(program2, taskCommand);
37438
37881
  registerOperationCommands(program2, taskCommand, sessionCommand);
37439
37882
  registerSplatCommands(program2);
37440
- registerMcpCommands(program2, "0.9.2");
37883
+ registerMcpCommands(program2, "0.9.3");
37441
37884
  registerGuideCommand(program2);
37442
37885
  registerSkillCommands(program2);
37443
37886
  registerUpdateCommand(program2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slopwaresystems",
3
- "version": "0.9.2",
3
+ "version": "0.9.3",
4
4
  "private": false,
5
5
  "description": "slop: the Slopware Tasks board from the terminal, for people and coding agents.",
6
6
  "type": "module",