tines 0.0.269 → 0.0.271

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/README.md CHANGED
@@ -35,6 +35,7 @@ stored config. `--url` and `--api-key` on any command win over both.
35
35
  tines projects list
36
36
  tines issues list --project <project>
37
37
  tines issues create <project> --title "…" -d @description.md
38
+ tines issues create <project> --title "Linked" --blocked-by Other/12 --blocks Other/14 --duplicate-of Other/9
38
39
  tines issues show <project>/<number>
39
40
  tines issues move <project>/<number> <action> # a workflow transition
40
41
  tines issues transfer <project>/<number> --project <dest> # move to another project (keeps ID, record and old refs)
@@ -67,6 +68,11 @@ list's filters.
67
68
  `tines <noun> --help` lists the rest: `workflows`, `context`, `journal`, `schedules`,
68
69
  `runners`, `runs`, `routing`, `supervisor`.
69
70
 
71
+ `issues create` accepts repeatable `--blocked-by` and `--blocks` references plus one
72
+ `--duplicate-of` reference. The issue and all initial relationships are created atomically.
73
+ When a recurrence is also supplied, the relationships apply only to the first issue; later
74
+ scheduled instances start without copied relationships.
75
+
70
76
  ## Workflow package files
71
77
 
72
78
  Export a workflow and its inheritance/context closure as canonical JSON, validate an edited
package/dist/index.js CHANGED
@@ -7389,7 +7389,7 @@ function register2(program3) {
7389
7389
  "attach a label; repeat for several (created if new)",
7390
7390
  collect,
7391
7391
  []
7392
- )
7392
+ ).option("--blocked-by <ref>", "issue that blocks the new issue; repeatable", collect, []).option("--blocks <ref>", "issue that the new issue blocks; repeatable", collect, []).option("--duplicate-of <ref>", "canonical issue that the new issue duplicates")
7393
7393
  ).action(
7394
7394
  async (projectRef2, opts) => {
7395
7395
  const description = opts.description !== void 0 ? readBodyValue(opts.description) : void 0;
@@ -7406,13 +7406,23 @@ function register2(program3) {
7406
7406
  timezone: opts.tz ?? systemTimezone(),
7407
7407
  require_all_closed: opts.ifClosed ?? false
7408
7408
  } : void 0;
7409
+ const blockedBy = await Promise.all(
7410
+ (opts.blockedBy ?? []).map(async (ref) => (await resolveIssue(api, ref)).id)
7411
+ );
7412
+ const blocks = await Promise.all(
7413
+ (opts.blocks ?? []).map(async (ref) => (await resolveIssue(api, ref)).id)
7414
+ );
7415
+ const duplicateOf = opts.duplicateOf ? (await resolveIssue(api, opts.duplicateOf)).id : void 0;
7409
7416
  const issue = await api.createIssue(project.id, {
7410
7417
  title: opts.title,
7411
7418
  description,
7412
7419
  workflow_id: workflowId,
7413
7420
  state: opts.state,
7414
7421
  schedule: schedule2,
7415
- labels: opts.label
7422
+ labels: opts.label,
7423
+ ...blockedBy.length > 0 ? { blocked_by: blockedBy } : {},
7424
+ ...blocks.length > 0 ? { blocks } : {},
7425
+ ...duplicateOf ? { duplicate_of: duplicateOf } : {}
7416
7426
  });
7417
7427
  if (opts.json) return printJson(issue);
7418
7428
  console.log(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tines",
3
- "version": "0.0.269",
3
+ "version": "0.0.271",
4
4
  "description": "CLI for Tines, an orchestration layer for AI agents",
5
5
  "repository": {
6
6
  "type": "git",