aibroker 0.17.5 → 0.17.7
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.
|
@@ -79,17 +79,21 @@ export declare function sweepAbandonedClaims(release: (taskId: string) => Promis
|
|
|
79
79
|
/**
|
|
80
80
|
* May this claim be released yet?
|
|
81
81
|
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
82
|
+
* The risk being guarded is precise: a task that is UNCLAIMED AND OVERDUE is
|
|
83
|
+
* ordinary overdue work, and the next poll dispatches it. So a session that
|
|
84
|
+
* drops its claim before the completion lands makes the same run happen again,
|
|
85
|
+
* looking spontaneous. Finishing is two steps that are not atomic and the
|
|
86
|
+
* ordering is not ours to enforce, so we check the state instead of trusting it.
|
|
86
87
|
*
|
|
87
|
-
* The
|
|
88
|
-
*
|
|
89
|
-
* the
|
|
88
|
+
* The test is therefore "is the task still overdue", not "has the due date
|
|
89
|
+
* advanced past the occurrence I recorded". The first version compared against
|
|
90
|
+
* the recorded occurrence, which breaks the moment anything legitimately moves
|
|
91
|
+
* the date BACKWARDS — PAI restores the occurrence a manual trigger consumed,
|
|
92
|
+
* so a schedule repair would have made this refuse a release on a run that
|
|
93
|
+
* genuinely finished. A stuck claim caused by a correct repair.
|
|
90
94
|
*
|
|
91
|
-
* Refusing
|
|
92
|
-
*
|
|
95
|
+
* Refusing inverts the failure in the direction both sides agreed on: a claim
|
|
96
|
+
* stuck until a timer releases it, rather than a run nobody asked for.
|
|
93
97
|
*/
|
|
94
98
|
export declare function mayRelease(taskId: string, currentDue: string | undefined): {
|
|
95
99
|
ok: true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todoist-claims.d.ts","sourceRoot":"","sources":["../../src/daemon/todoist-claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAUH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,QAAgB,CAAC;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,QAAqB,CAAC;AAEnD,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,QAAsB,CAAC;AAgBzD,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,EAAE,GAAE,MAAiC,EACrC,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAKN;AAOD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhD;AAED,wBAAgB,UAAU,IAAI,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG3F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAShF;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAmB,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAIhG;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC1C,GAAG,GAAE,MAAmB,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBnB;AAED
|
|
1
|
+
{"version":3,"file":"todoist-claims.d.ts","sourceRoot":"","sources":["../../src/daemon/todoist-claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAUH;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,wBAAwB,QAAgB,CAAC;AAEtD,+EAA+E;AAC/E,eAAO,MAAM,gBAAgB,QAAqB,CAAC;AAEnD,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,QAAsB,CAAC;AAgBzD,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,EAAE,GAAE,MAAiC,EACrC,OAAO,CAAC,EAAE,MAAM,GACf,IAAI,CAKN;AAOD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKhD;AAED,wBAAgB,UAAU,IAAI,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAG3F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAShF;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAmB,GAAG,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAIhG;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC1C,GAAG,GAAE,MAAmB,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoBvH"}
|
|
@@ -132,38 +132,42 @@ export async function sweepAbandonedClaims(release, now = Date.now()) {
|
|
|
132
132
|
/**
|
|
133
133
|
* May this claim be released yet?
|
|
134
134
|
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
135
|
+
* The risk being guarded is precise: a task that is UNCLAIMED AND OVERDUE is
|
|
136
|
+
* ordinary overdue work, and the next poll dispatches it. So a session that
|
|
137
|
+
* drops its claim before the completion lands makes the same run happen again,
|
|
138
|
+
* looking spontaneous. Finishing is two steps that are not atomic and the
|
|
139
|
+
* ordering is not ours to enforce, so we check the state instead of trusting it.
|
|
139
140
|
*
|
|
140
|
-
* The
|
|
141
|
-
*
|
|
142
|
-
* the
|
|
141
|
+
* The test is therefore "is the task still overdue", not "has the due date
|
|
142
|
+
* advanced past the occurrence I recorded". The first version compared against
|
|
143
|
+
* the recorded occurrence, which breaks the moment anything legitimately moves
|
|
144
|
+
* the date BACKWARDS — PAI restores the occurrence a manual trigger consumed,
|
|
145
|
+
* so a schedule repair would have made this refuse a release on a run that
|
|
146
|
+
* genuinely finished. A stuck claim caused by a correct repair.
|
|
143
147
|
*
|
|
144
|
-
* Refusing
|
|
145
|
-
*
|
|
148
|
+
* Refusing inverts the failure in the direction both sides agreed on: a claim
|
|
149
|
+
* stuck until a timer releases it, rather than a run nobody asked for.
|
|
146
150
|
*/
|
|
147
151
|
export function mayRelease(taskId, currentDue) {
|
|
148
152
|
const claim = listClaims().find((c) => c.taskId === taskId);
|
|
149
153
|
// Nothing recorded: there is no in-flight run to protect.
|
|
150
154
|
if (!claim)
|
|
151
155
|
return { ok: true };
|
|
152
|
-
//
|
|
153
|
-
//
|
|
154
|
-
|
|
156
|
+
// Cannot tell — no due date, or the task could not be read. Allow it: a guard
|
|
157
|
+
// that strands a session unable to clear its own claim is the same silence
|
|
158
|
+
// one step along.
|
|
159
|
+
if (!currentDue)
|
|
155
160
|
return { ok: true };
|
|
156
|
-
const
|
|
157
|
-
|
|
158
|
-
if (!Number.isFinite(claimed) || !Number.isFinite(now))
|
|
161
|
+
const due = Date.parse(currentDue);
|
|
162
|
+
if (!Number.isFinite(due))
|
|
159
163
|
return { ok: true };
|
|
160
|
-
if (
|
|
164
|
+
if (due > Date.now())
|
|
161
165
|
return { ok: true };
|
|
162
166
|
return {
|
|
163
167
|
ok: false,
|
|
164
|
-
reason: "the task
|
|
165
|
-
"
|
|
166
|
-
"and
|
|
168
|
+
reason: "the task is still overdue, so the completion has not landed. Complete it first, then " +
|
|
169
|
+
"release: dropping the claim while it is overdue leaves ordinary overdue work behind, " +
|
|
170
|
+
"and the next poll would run it again.",
|
|
167
171
|
};
|
|
168
172
|
}
|
|
169
173
|
//# sourceMappingURL=todoist-claims.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todoist-claims.js","sourceRoot":"","sources":["../../src/daemon/todoist-claims.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEtD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnD,sFAAsF;AACtF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAUzD,SAAS,IAAI;IACX,MAAM,CAAC,GAAG,QAAQ,CAAQ,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IACvD,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,KAAa,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EACrC,OAAgB;IAEhB,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,0EAA0E;AAC1E,SAAS,QAAQ,CAAC,CAAuB;IACvC,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC;QAAE,OAAO;IAClC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,UAAU;IACxB,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,CAA0C;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,OAAO,GAAG,gBAAgB,CAAC;IACzC,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;QACnC,CAAC,CAAC,GAAG,GAAG,wBAAwB;QAChC,CAAC,CAAC,OAAO,GAAG,qBAAqB,CAAC;IACpC,sEAAsE;IACtE,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,MAAc,IAAI,CAAC,GAAG,EAAE;IACpD,OAAO,UAAU,EAAE;SAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;SAClF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAA0C,EAC1C,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;YACtB,WAAW,CAAC,MAAM,CAAC,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;YACvC,KAAK,CAAC;gBACJ,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,MAAM,EAAE;gBAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,IAAI,gDAAgD;aAC7F,CAAC,CAAC;YACH,GAAG,CAAC,8BAA8B,IAAI,qBAAqB,MAAM,EAAE,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,qCAAqC,MAAM,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrG,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"todoist-claims.js","sourceRoot":"","sources":["../../src/daemon/todoist-claims.ts"],"names":[],"mappings":"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"}
|