@ghostpaw/questlog 0.3.0 → 0.4.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.
package/dist/index.cjs CHANGED
@@ -5234,8 +5234,8 @@ function shapeWorkToolHandler(db, input) {
5234
5234
  }
5235
5235
  var shapeWorkTool = defineQuestlogTool({
5236
5236
  name: shapeWorkToolName,
5237
- description: "Shape real work structure by settling rumors, creating quests or questlines, and attaching or detaching quests from questlines.",
5238
- whenToUse: "Use this when deciding what real work exists and how it should be grouped before or around execution.",
5237
+ description: "Create a quest (with timing, tags, and objective in one call), create a questline, settle a rumor into concrete work, or manage quest-questline membership. Use create_quest for clear commitments \u2014 include tags and timing directly to avoid follow-up calls.",
5238
+ whenToUse: "Use this when deciding what real work exists and how it should be grouped before or around execution. Prefer a single create_quest call with all fields over separate create + plan_quest + tag_work calls.",
5239
5239
  whenNotToUse: "Do not use this for quest execution steps like starting, finishing, abandoning, or logging effort.",
5240
5240
  sideEffects: "writes_state",
5241
5241
  readOnly: false,
@@ -5244,10 +5244,10 @@ var shapeWorkTool = defineQuestlogTool({
5244
5244
  inputDescriptions: {
5245
5245
  action: "Which structure-shaping action to perform, such as settling a rumor, creating a quest, or attaching a quest to a questline.",
5246
5246
  rumorId: "The rumor to dismiss, reopen, or settle when the action targets intake.",
5247
- questline: "Questline creation data used when creating a questline directly or as part of rumor settlement.",
5248
- quests: "Concrete quest creation inputs used when settling a rumor into real work.",
5247
+ questline: "Questline creation data used when creating a questline directly or as part of rumor settlement. Include description for context.",
5248
+ quests: "Concrete quest creation inputs when settling a rumor into real work. Each quest supports the same fields as the quest property \u2014 include timing and tags directly.",
5249
5249
  settledAt: "Optional settlement timestamp for rumor settlement.",
5250
- quest: "Quest creation input used when directly creating one concrete quest.",
5250
+ quest: "Quest creation input when directly creating one concrete quest. Include timing fields (dueAt, scheduledStartAt, etc.), tags, and rewards to create a fully specified quest in one call.",
5251
5251
  questId: "The concrete quest being attached to or detached from a questline.",
5252
5252
  questlineId: "The questline that should receive the quest for attach actions.",
5253
5253
  dismissedAt: "Optional dismissal timestamp for dismissing a rumor.",
@@ -5270,13 +5270,32 @@ var shapeWorkTool = defineQuestlogTool({
5270
5270
  quest: objectSchema(
5271
5271
  {
5272
5272
  title: stringSchema("Title for the new quest."),
5273
- objective: stringSchema("Objective for the new quest.")
5273
+ objective: stringSchema("Objective for the new quest."),
5274
+ questlineId: integerSchema("Optional questline to place the quest in."),
5275
+ tags: arraySchema(stringSchema("Tag name."), "Optional tags to apply at creation."),
5276
+ rewards: arraySchema(
5277
+ objectSchema(
5278
+ {
5279
+ kind: stringSchema("Reward kind."),
5280
+ name: stringSchema("Reward name.")
5281
+ },
5282
+ ["kind", "name"]
5283
+ ),
5284
+ "Optional rewards to attach at creation."
5285
+ ),
5286
+ dueAt: integerSchema("Optional latest acceptable completion timestamp."),
5287
+ notBeforeAt: integerSchema("Optional earliest actionable timestamp."),
5288
+ scheduledStartAt: integerSchema("Optional planned schedule window start."),
5289
+ scheduledEndAt: integerSchema("Optional planned schedule window end."),
5290
+ allDay: booleanSchema("Whether the scheduled window is all-day."),
5291
+ estimateSeconds: integerSchema("Optional active-effort estimate in seconds.")
5274
5292
  },
5275
5293
  ["title", "objective"]
5276
5294
  ),
5277
5295
  questline: objectSchema(
5278
5296
  {
5279
- title: stringSchema("Questline title.")
5297
+ title: stringSchema("Questline title."),
5298
+ description: stringSchema("Optional questline description.")
5280
5299
  },
5281
5300
  []
5282
5301
  ),
@@ -5287,16 +5306,33 @@ var shapeWorkTool = defineQuestlogTool({
5287
5306
  objectSchema(
5288
5307
  {
5289
5308
  title: stringSchema("Title for a created quest."),
5290
- objective: stringSchema("Objective for a created quest.")
5309
+ objective: stringSchema("Objective for a created quest."),
5310
+ tags: arraySchema(stringSchema("Tag name."), "Optional tags to apply at creation."),
5311
+ rewards: arraySchema(
5312
+ objectSchema(
5313
+ {
5314
+ kind: stringSchema("Reward kind."),
5315
+ name: stringSchema("Reward name.")
5316
+ },
5317
+ ["kind", "name"]
5318
+ ),
5319
+ "Optional rewards to attach at creation."
5320
+ ),
5321
+ dueAt: integerSchema("Optional latest acceptable completion timestamp."),
5322
+ notBeforeAt: integerSchema("Optional earliest actionable timestamp."),
5323
+ scheduledStartAt: integerSchema("Optional planned schedule window start."),
5324
+ scheduledEndAt: integerSchema("Optional planned schedule window end."),
5325
+ allDay: booleanSchema("Whether the scheduled window is all-day."),
5326
+ estimateSeconds: integerSchema("Optional active-effort estimate in seconds.")
5291
5327
  },
5292
5328
  ["title", "objective"]
5293
5329
  ),
5294
- "Quests to create during rumor settlement."
5330
+ "Quests to create during rumor settlement. Include timing and tags directly."
5295
5331
  ),
5296
5332
  now: integerSchema("Optional timestamp for membership or reopen changes.")
5297
5333
  },
5298
5334
  ["action"],
5299
- "Shape the work graph by settling rumors, creating work, or moving quests into questlines."
5335
+ "Create quests with timing and tags, create questlines, settle rumors into work, or manage quest-questline membership."
5300
5336
  ),
5301
5337
  handler: shapeWorkToolHandler
5302
5338
  });
package/dist/index.js CHANGED
@@ -5232,8 +5232,8 @@ function shapeWorkToolHandler(db, input) {
5232
5232
  }
5233
5233
  var shapeWorkTool = defineQuestlogTool({
5234
5234
  name: shapeWorkToolName,
5235
- description: "Shape real work structure by settling rumors, creating quests or questlines, and attaching or detaching quests from questlines.",
5236
- whenToUse: "Use this when deciding what real work exists and how it should be grouped before or around execution.",
5235
+ description: "Create a quest (with timing, tags, and objective in one call), create a questline, settle a rumor into concrete work, or manage quest-questline membership. Use create_quest for clear commitments \u2014 include tags and timing directly to avoid follow-up calls.",
5236
+ whenToUse: "Use this when deciding what real work exists and how it should be grouped before or around execution. Prefer a single create_quest call with all fields over separate create + plan_quest + tag_work calls.",
5237
5237
  whenNotToUse: "Do not use this for quest execution steps like starting, finishing, abandoning, or logging effort.",
5238
5238
  sideEffects: "writes_state",
5239
5239
  readOnly: false,
@@ -5242,10 +5242,10 @@ var shapeWorkTool = defineQuestlogTool({
5242
5242
  inputDescriptions: {
5243
5243
  action: "Which structure-shaping action to perform, such as settling a rumor, creating a quest, or attaching a quest to a questline.",
5244
5244
  rumorId: "The rumor to dismiss, reopen, or settle when the action targets intake.",
5245
- questline: "Questline creation data used when creating a questline directly or as part of rumor settlement.",
5246
- quests: "Concrete quest creation inputs used when settling a rumor into real work.",
5245
+ questline: "Questline creation data used when creating a questline directly or as part of rumor settlement. Include description for context.",
5246
+ quests: "Concrete quest creation inputs when settling a rumor into real work. Each quest supports the same fields as the quest property \u2014 include timing and tags directly.",
5247
5247
  settledAt: "Optional settlement timestamp for rumor settlement.",
5248
- quest: "Quest creation input used when directly creating one concrete quest.",
5248
+ quest: "Quest creation input when directly creating one concrete quest. Include timing fields (dueAt, scheduledStartAt, etc.), tags, and rewards to create a fully specified quest in one call.",
5249
5249
  questId: "The concrete quest being attached to or detached from a questline.",
5250
5250
  questlineId: "The questline that should receive the quest for attach actions.",
5251
5251
  dismissedAt: "Optional dismissal timestamp for dismissing a rumor.",
@@ -5268,13 +5268,32 @@ var shapeWorkTool = defineQuestlogTool({
5268
5268
  quest: objectSchema(
5269
5269
  {
5270
5270
  title: stringSchema("Title for the new quest."),
5271
- objective: stringSchema("Objective for the new quest.")
5271
+ objective: stringSchema("Objective for the new quest."),
5272
+ questlineId: integerSchema("Optional questline to place the quest in."),
5273
+ tags: arraySchema(stringSchema("Tag name."), "Optional tags to apply at creation."),
5274
+ rewards: arraySchema(
5275
+ objectSchema(
5276
+ {
5277
+ kind: stringSchema("Reward kind."),
5278
+ name: stringSchema("Reward name.")
5279
+ },
5280
+ ["kind", "name"]
5281
+ ),
5282
+ "Optional rewards to attach at creation."
5283
+ ),
5284
+ dueAt: integerSchema("Optional latest acceptable completion timestamp."),
5285
+ notBeforeAt: integerSchema("Optional earliest actionable timestamp."),
5286
+ scheduledStartAt: integerSchema("Optional planned schedule window start."),
5287
+ scheduledEndAt: integerSchema("Optional planned schedule window end."),
5288
+ allDay: booleanSchema("Whether the scheduled window is all-day."),
5289
+ estimateSeconds: integerSchema("Optional active-effort estimate in seconds.")
5272
5290
  },
5273
5291
  ["title", "objective"]
5274
5292
  ),
5275
5293
  questline: objectSchema(
5276
5294
  {
5277
- title: stringSchema("Questline title.")
5295
+ title: stringSchema("Questline title."),
5296
+ description: stringSchema("Optional questline description.")
5278
5297
  },
5279
5298
  []
5280
5299
  ),
@@ -5285,16 +5304,33 @@ var shapeWorkTool = defineQuestlogTool({
5285
5304
  objectSchema(
5286
5305
  {
5287
5306
  title: stringSchema("Title for a created quest."),
5288
- objective: stringSchema("Objective for a created quest.")
5307
+ objective: stringSchema("Objective for a created quest."),
5308
+ tags: arraySchema(stringSchema("Tag name."), "Optional tags to apply at creation."),
5309
+ rewards: arraySchema(
5310
+ objectSchema(
5311
+ {
5312
+ kind: stringSchema("Reward kind."),
5313
+ name: stringSchema("Reward name.")
5314
+ },
5315
+ ["kind", "name"]
5316
+ ),
5317
+ "Optional rewards to attach at creation."
5318
+ ),
5319
+ dueAt: integerSchema("Optional latest acceptable completion timestamp."),
5320
+ notBeforeAt: integerSchema("Optional earliest actionable timestamp."),
5321
+ scheduledStartAt: integerSchema("Optional planned schedule window start."),
5322
+ scheduledEndAt: integerSchema("Optional planned schedule window end."),
5323
+ allDay: booleanSchema("Whether the scheduled window is all-day."),
5324
+ estimateSeconds: integerSchema("Optional active-effort estimate in seconds.")
5289
5325
  },
5290
5326
  ["title", "objective"]
5291
5327
  ),
5292
- "Quests to create during rumor settlement."
5328
+ "Quests to create during rumor settlement. Include timing and tags directly."
5293
5329
  ),
5294
5330
  now: integerSchema("Optional timestamp for membership or reopen changes.")
5295
5331
  },
5296
5332
  ["action"],
5297
- "Shape the work graph by settling rumors, creating work, or moving quests into questlines."
5333
+ "Create quests with timing and tags, create questlines, settle rumors into work, or manage quest-questline membership."
5298
5334
  ),
5299
5335
  handler: shapeWorkToolHandler
5300
5336
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ghostpaw/questlog",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Unified task and calendar model for Node.js — SQLite, zero dependencies, with a built-in LLM tool facade",
5
5
  "type": "module",
6
6
  "exports": {