@owlmeans/viable-sdk 0.1.18-rc.21 → 0.1.18-rc.23

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.
Files changed (54) hide show
  1. package/README.md +1 -1
  2. package/agent-meta/manifest.json +2 -2
  3. package/agent-meta/skills/viable-sdk/SKILL.md +76 -21
  4. package/build/api/remote.d.ts +2 -3
  5. package/build/api/remote.d.ts.map +1 -1
  6. package/build/api/remote.js +13 -14
  7. package/build/api/remote.js.map +1 -1
  8. package/build/consts.d.ts +3 -13
  9. package/build/consts.d.ts.map +1 -1
  10. package/build/consts.js +3 -13
  11. package/build/consts.js.map +1 -1
  12. package/build/harness/templates.d.ts +2 -2
  13. package/build/harness/templates.d.ts.map +1 -1
  14. package/build/harness/templates.js +10 -10
  15. package/build/project/setup.d.ts +1 -1
  16. package/build/tools/catalogue.d.ts +2 -2
  17. package/build/tools/catalogue.d.ts.map +1 -1
  18. package/build/tools/catalogue.js +143 -142
  19. package/build/tools/catalogue.js.map +1 -1
  20. package/build/tools/index.d.ts +2 -1
  21. package/build/tools/index.d.ts.map +1 -1
  22. package/build/tools/index.js +2 -1
  23. package/build/tools/index.js.map +1 -1
  24. package/build/tools/mcp.d.ts +2 -2
  25. package/build/tools/mcp.d.ts.map +1 -1
  26. package/build/tools/mcp.js +15 -10
  27. package/build/tools/mcp.js.map +1 -1
  28. package/build/tools/platform.d.ts +27 -8
  29. package/build/tools/platform.d.ts.map +1 -1
  30. package/build/tools/platform.js +107 -42
  31. package/build/tools/platform.js.map +1 -1
  32. package/build/tools/refusal.d.ts +2 -2
  33. package/build/tools/refusal.d.ts.map +1 -1
  34. package/build/tools/refusal.js +22 -6
  35. package/build/tools/refusal.js.map +1 -1
  36. package/build/tools/settings.d.ts +45 -0
  37. package/build/tools/settings.d.ts.map +1 -0
  38. package/build/tools/settings.js +86 -0
  39. package/build/tools/settings.js.map +1 -0
  40. package/build/tools/status.d.ts +17 -0
  41. package/build/tools/status.d.ts.map +1 -0
  42. package/build/tools/status.js +104 -0
  43. package/build/tools/status.js.map +1 -0
  44. package/build/tools/stories.d.ts +19 -1
  45. package/build/tools/stories.d.ts.map +1 -1
  46. package/build/tools/stories.js +22 -1
  47. package/build/tools/stories.js.map +1 -1
  48. package/build/types.d.ts +34 -17
  49. package/build/types.d.ts.map +1 -1
  50. package/package.json +19 -19
  51. package/build/tools/jobs.d.ts +0 -12
  52. package/build/tools/jobs.d.ts.map +0 -1
  53. package/build/tools/jobs.js +0 -60
  54. package/build/tools/jobs.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ import type { ConnectPipelineState, ConnectProjectStatus, ConnectStoryStatus, ConversionStatusView } from '@owlmeans/viable-common';
2
+ export declare const renderProjectStatus: (status: ConnectProjectStatus) => string;
3
+ /**
4
+ * What the story tools know about a story beyond its domain status.
5
+ *
6
+ * Read off the planning CARD the tool resolved before it asked for the status — the status route
7
+ * carries the run and the question, not the card's fields — so a new fact needs no second call and
8
+ * no change to the wire.
9
+ */
10
+ export interface StoryStatusExtra {
11
+ /** The project's landing gate story (`fields.landing`). */
12
+ landing?: boolean;
13
+ }
14
+ export declare const renderStoryStatus: (status: ConnectStoryStatus, extra?: StoryStatusExtra) => string;
15
+ export declare const renderPipelineStatus: (state: ConnectPipelineState) => string;
16
+ export declare const conversionNext: (view: ConversionStatusView) => string;
17
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EACrF,MAAM,yBAAyB,CAAA;AA+BhC,eAAO,MAAM,mBAAmB,WAAY,oBAAoB,KAAG,MAuBlE,CAAA;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,WAAY,kBAAkB,UAAS,gBAAgB,KAAQ,MAkB5F,CAAA;AAED,eAAO,MAAM,oBAAoB,UAAW,oBAAoB,KAAG,MAclE,CAAA;AAED,eAAO,MAAM,cAAc,SAAU,oBAAoB,KAAG,MAe3D,CAAA"}
@@ -0,0 +1,104 @@
1
+ import { ConnectWaitReason, ConversionDecision, ConversionStatus, decisionFor } from '@owlmeans/viable-common';
2
+ import { refusalPhrase } from './refusal.js';
3
+ import { LANDING_NOTE } from './stories.js';
4
+ const waitingNext = (waitingFor, inquiryId, fallback) => {
5
+ if (inquiryId != null)
6
+ return `answer_question { "questionId": "${inquiryId}" }`;
7
+ switch (waitingFor) {
8
+ case ConnectWaitReason.Person: return 'next_question';
9
+ case ConnectWaitReason.ModelTask: return 'next_task';
10
+ case ConnectWaitReason.LocalConnector: return 'session_status';
11
+ case ConnectWaitReason.Environment: return 'local_setup_guide';
12
+ default: return fallback;
13
+ }
14
+ };
15
+ const runLines = (run) => {
16
+ if (run == null)
17
+ return [];
18
+ const lines = [
19
+ `run ${run.runId} · ${run.pipeline} · ${run.status}`
20
+ + (run.step != null ? ` · step: ${run.step}` : ''),
21
+ `steps: ${run.completed.length}/${run.completed.length + run.pending.length} completed`,
22
+ ];
23
+ if (run.error != null && run.error !== '')
24
+ lines.push(`error: ${refusalPhrase(run.error)}`);
25
+ return lines;
26
+ };
27
+ export const renderProjectStatus = (status) => {
28
+ const lines = [
29
+ `${status.project.name} (${status.project.alias}) · ${status.project.id}`,
30
+ `project: ${status.project.status} (${status.project.intrinsic})`,
31
+ status.slot == null
32
+ ? 'slot: none'
33
+ : `slot: ${status.slot.kind} · ${status.slot.status}`
34
+ + (status.slot.host != null ? ` · ${status.slot.host}` : ''),
35
+ `agent: ${status.agent.locked ? `busy (${status.agent.task ?? 'working'})` : 'idle'}`,
36
+ ...runLines(status.run),
37
+ ];
38
+ if (status.pendingInquiry != null)
39
+ lines.push(`question: ${status.pendingInquiry.question}`);
40
+ for (const warning of [status.slot?.lastError, status.slot?.buildWarning, status.slot?.backendWarning]) {
41
+ if (warning != null && warning !== '')
42
+ lines.push(`warning: ${refusalPhrase(warning)}`);
43
+ }
44
+ const fallback = status.agent.locked || status.run != null
45
+ ? `project_status { "projectId": "${status.project.id}" }`
46
+ : status.project.status === 'draft'
47
+ ? `confirm_project { "projectId": "${status.project.id}" }`
48
+ : 'list_stories';
49
+ lines.push(`next: ${waitingNext(status.waitingFor, status.pendingInquiry?.id, fallback)}`);
50
+ return lines.join('\n');
51
+ };
52
+ export const renderStoryStatus = (status, extra = {}) => {
53
+ const lines = [
54
+ `${status.story.code} · ${status.story.title}`,
55
+ `story: ${status.story.status} (${status.story.intrinsic})`,
56
+ ...(extra.landing === true ? [LANDING_NOTE] : []),
57
+ ...runLines(status.run),
58
+ ];
59
+ if (status.story.warning != null && status.story.warning !== '') {
60
+ lines.push(`warning: ${refusalPhrase(status.story.warning)}`);
61
+ }
62
+ if (status.pendingInquiry != null)
63
+ lines.push(`question: ${status.pendingInquiry.question}`);
64
+ const terminal = status.story.intrinsic === 'done' || status.story.intrinsic === 'cancelled';
65
+ const fallback = terminal
66
+ ? 'nothing — this story is settled'
67
+ : `story_status { "projectId": "${status.projectId}", "storyId": "${status.story.id}" }`;
68
+ lines.push(`next: ${waitingNext(status.waitingFor, status.pendingInquiry?.id, fallback)}`);
69
+ return lines.join('\n');
70
+ };
71
+ export const renderPipelineStatus = (state) => {
72
+ const lines = [
73
+ `${state.pipeline} · ${state.status}` + (state.step != null ? ` · step: ${state.step}` : ''),
74
+ `steps: ${state.completed.length}/${state.completed.length + state.pending.length} completed`,
75
+ ];
76
+ if (state.pendingInquiry != null)
77
+ lines.push(`question: ${state.pendingInquiry.question}`);
78
+ if (state.error != null && state.error !== '')
79
+ lines.push(`error: ${refusalPhrase(state.error)}`);
80
+ const settled = ['done', 'completed', 'cancelled'].includes(state.status.toLowerCase());
81
+ const fallback = settled
82
+ ? 'nothing — this run is settled'
83
+ : `pipeline_status { "runId": "${state.runId}" }`;
84
+ lines.push(`next: ${waitingNext(state.waitingFor, state.pendingInquiry?.id, fallback)}`);
85
+ return lines.join('\n');
86
+ };
87
+ export const conversionNext = (view) => {
88
+ const waiting = waitingNext(view.waitingFor, view.pendingInquiry?.id, '');
89
+ if (waiting !== '')
90
+ return waiting;
91
+ switch (view.status) {
92
+ case ConversionStatus.Running: return 'conversion_status';
93
+ case ConversionStatus.Waiting: return 'next_question';
94
+ case ConversionStatus.Awaiting:
95
+ return `proceed_conversion { "decision": "${decisionFor(view.stage)}" } to continue, or`
96
+ + ` { "decision": "${ConversionDecision.Leave}" } to keep the current result`;
97
+ case ConversionStatus.Failed:
98
+ return `proceed_conversion { "decision": "${ConversionDecision.Retry}" } once the cause is addressed`;
99
+ case ConversionStatus.Done: return 'nothing — this conversion is finished; purge_origin removes the origin';
100
+ case ConversionStatus.Cancelled: return 'nothing — this conversion was cancelled';
101
+ default: return 'convert_project';
102
+ }
103
+ };
104
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/tools/status.ts"],"names":[],"mappings":"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"}
@@ -27,13 +27,31 @@ export declare const storyQuery: (projectId: string, filter?: StoryFilter) => Wo
27
27
  * @throws {ProjectStoryNotFound} when neither names a story of the project
28
28
  */
29
29
  export declare const resolveStory: (deps: Pick<ToolDeps, 'api'>, projectId: string, ref: string) => Promise<ViableStoryCard>;
30
+ /**
31
+ * What marks the project's LANDING GATE story, in a story line and in a story's own status.
32
+ *
33
+ * The platform picks at most one story per project — the key step of the end user's workflow — and
34
+ * draws a sketch of it on the guest home in place of the hero's call-to-action buttons: a visitor
35
+ * starts it there without an account, and signing in carries their choices to the story's
36
+ * full-scale screen. It is recorded as `fields.landing` on the story card, so the tools read it from
37
+ * the card they already hold, never from a second call.
38
+ *
39
+ * Said because it changes what developing the story does — the development also replaces the
40
+ * guest-home sketch with the real component — and a parent that reads only the narrative has no
41
+ * way to know that.
42
+ */
43
+ export declare const LANDING_MARK = "landing gate";
44
+ export declare const LANDING_NOTE: string;
45
+ /** Whether a story card is the project's landing gate story. */
46
+ export declare const isLandingStory: (card: Workcard) => boolean;
30
47
  /**
31
48
  * One page of stories as a parent agent reads it.
32
49
  *
33
50
  * The header counts the page by INTRINSIC state, which is what "how much is left" means across
34
51
  * flows — a failed story is still work to do. Every story line is the shape the connector has
35
52
  * always printed, so a parent that learned to read it keeps reading it: the code first, because it
36
- * is what every other story tool takes.
53
+ * is what every other story tool takes. A new fact is a new flag beside `primary`, never a
54
+ * substitute for one, and the area stays last.
37
55
  */
38
56
  export declare const renderStories: (items: readonly Workcard[], page: number, total: number) => string;
39
57
  //# sourceMappingURL=stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"stories.d.ts","sourceRoot":"","sources":["../../src/tools/stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAG1D,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,cAAe,MAAM,WAAU,WAAW,KAAQ,aAQvE,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,SACjB,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,MAAM,OAAO,MAAM,KAC1D,OAAO,CAAC,eAAe,CAqBzB,CAAA;AAeD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,UAAW,SAAS,QAAQ,EAAE,QAAQ,MAAM,SAAS,MAAM,KAAG,MAUrE,CAAA"}
1
+ {"version":3,"file":"stories.d.ts","sourceRoot":"","sources":["../../src/tools/stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAE1C,wDAAwD;AACxD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,CAAC,EAAE,MAAM,CAAA;CACX;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAG1D,CAAA;AAED,2FAA2F;AAC3F,eAAO,MAAM,UAAU,cAAe,MAAM,WAAU,WAAW,KAAQ,aAQvE,CAAA;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,YAAY,SACjB,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,MAAM,OAAO,MAAM,KAC1D,OAAO,CAAC,eAAe,CAqBzB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,iBAAiB,CAAA;AAC1C,eAAO,MAAM,YAAY,QAEc,CAAA;AAEvC,gEAAgE;AAChE,eAAO,MAAM,cAAc,SAAU,QAAQ,KAAG,OAA+C,CAAA;AAe/F;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,UAAW,SAAS,QAAQ,EAAE,QAAQ,MAAM,SAAS,MAAM,KAAG,MAWrE,CAAA"}
@@ -50,6 +50,25 @@ export const resolveStory = async (deps, projectId, ref) => {
50
50
  }
51
51
  throw new ProjectStoryNotFound(ref);
52
52
  };
53
+ /**
54
+ * What marks the project's LANDING GATE story, in a story line and in a story's own status.
55
+ *
56
+ * The platform picks at most one story per project — the key step of the end user's workflow — and
57
+ * draws a sketch of it on the guest home in place of the hero's call-to-action buttons: a visitor
58
+ * starts it there without an account, and signing in carries their choices to the story's
59
+ * full-scale screen. It is recorded as `fields.landing` on the story card, so the tools read it from
60
+ * the card they already hold, never from a second call.
61
+ *
62
+ * Said because it changes what developing the story does — the development also replaces the
63
+ * guest-home sketch with the real component — and a parent that reads only the narrative has no
64
+ * way to know that.
65
+ */
66
+ export const LANDING_MARK = 'landing gate';
67
+ export const LANDING_NOTE = 'landing gate story — a guest starts it on the guest home without an'
68
+ + ' account, and signing in carries their choices to its full screen; developing it also puts the'
69
+ + ' real component on the guest home';
70
+ /** Whether a story card is the project's landing gate story. */
71
+ export const isLandingStory = (card) => storyFieldsOf(card).landing === true;
53
72
  /** `2 planned, 1 in progress` — the page's cards per intrinsic state, zeros left out. */
54
73
  const intrinsicCounts = (items) => {
55
74
  const counts = new Map();
@@ -67,7 +86,8 @@ const intrinsicCounts = (items) => {
67
86
  * The header counts the page by INTRINSIC state, which is what "how much is left" means across
68
87
  * flows — a failed story is still work to do. Every story line is the shape the connector has
69
88
  * always printed, so a parent that learned to read it keeps reading it: the code first, because it
70
- * is what every other story tool takes.
89
+ * is what every other story tool takes. A new fact is a new flag beside `primary`, never a
90
+ * substitute for one, and the area stays last.
71
91
  */
72
92
  export const renderStories = (items, page, total) => items.length < 1
73
93
  ? 'No stories.'
@@ -76,6 +96,7 @@ export const renderStories = (items, page, total) => items.length < 1
76
96
  const fields = storyFieldsOf(item);
77
97
  return ` ${item.code ?? item.id ?? ''} · ${item.status}`
78
98
  + `${fields.primary ? ' · primary' : ''}`
99
+ + `${fields.landing === true ? ` · ${LANDING_MARK}` : ''}`
79
100
  + `${item.fields?.area != null ? ` · ${fields.area}` : ''}\n ${item.title.slice(0, 160)}`;
80
101
  }).join('\n');
81
102
  //# sourceMappingURL=stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../src/tools/stories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stories.js","sourceRoot":"","sources":["../../src/tools/stories.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { PlanningFacade } from '@owlmeans/planning';
2
- import type { ConnectCapabilities, ConnectCapabilitiesView, ConnectConvertCreateBody, ConnectHarness, ConnectJob, ConnectLlm, ConnectMarker, ConnectOp, ConnectOpResult, ConnectOpSubmission, ConnectPipelineState, ConnectProjectStatus, ConnectSessionView, ConnectTarget, ConversionDecision, ConversionStatusView, ConvertCheck, InquiryAnswerPayload, InquiryPayload, ModelTask, ModelTaskResult, SlotCommandPayload } from '@owlmeans/viable-common';
2
+ import type { ConnectCapabilities, ConnectCapabilitiesView, ConnectConvertCreateBody, ConnectHarness, ConnectLlm, ConnectMarker, ConnectOp, ConnectOpResult, ConnectOpSubmission, ConnectPipelineState, ConnectProjectBranding, ConnectProjectBrandingSave, ConnectProjectStatus, ConnectSessionView, ConnectStoryStatus, ConnectTarget, ConversionDecision, ConversionStatusView, ConvertCheck, InquiryAnswerPayload, InquiryPayload, ModelTask, ModelTaskResult, SlotCommandPayload } from '@owlmeans/viable-common';
3
3
  export interface SdkOptions {
4
4
  apiUrl: string;
5
5
  /** The access token. The connector authenticates with nothing else. */
@@ -29,8 +29,8 @@ export interface ConnectorApi {
29
29
  pullOps: (sessionId: string, waitSec: number) => Promise<ConnectOp[]>;
30
30
  submitOp: (sessionId: string, result: ConnectOpResult) => Promise<ConnectOpSubmission>;
31
31
  project: {
32
- create: (prompt: string, target?: ConnectTarget) => Promise<ConnectJob>;
33
- confirm: (projectId: string, edits: ProjectEdits) => Promise<ConnectJob>;
32
+ create: (prompt: string, target?: ConnectTarget) => Promise<ConnectProjectStatus>;
33
+ confirm: (projectId: string, edits: ProjectEdits) => Promise<ConnectProjectStatus>;
34
34
  list: () => Promise<Array<{
35
35
  id: string;
36
36
  name: string;
@@ -41,9 +41,29 @@ export interface ConnectorApi {
41
41
  projectId?: string;
42
42
  slug?: string;
43
43
  }) => Promise<ConnectProjectStatus>;
44
- reinit: (projectId: string) => Promise<ConnectJob>;
45
- modify: (projectId: string, prompt: string) => Promise<ConnectJob>;
46
- job: (projectId: string, jobId: string, waitSec?: number) => Promise<ConnectJob>;
44
+ reinit: (projectId: string) => Promise<ConnectProjectStatus>;
45
+ modify: (projectId: string, prompt: string) => Promise<ConnectProjectStatus>;
46
+ };
47
+ /**
48
+ * The project settings a person edits on the project's control panel: the copyright line, the
49
+ * organization name, the Terms and Privacy links and the Google tag.
50
+ *
51
+ * Read and written as ONE record, because the platform validates them as one — a save merges the
52
+ * patch over what is stored, checks and moderates the merged record exactly as the web save does,
53
+ * and answers with it. The credit switch is not part of it: that is a paid capability with its
54
+ * own gated route, and a connector has no business near it.
55
+ */
56
+ projectBranding: (projectId: string) => Promise<ConnectProjectBranding>;
57
+ /**
58
+ * Change some of the project settings; the fields left out keep their stored values.
59
+ *
60
+ * The platform applies the change to the PREVIEW by a configuration push (which rebuilds it);
61
+ * production takes it at the next Publish. For a local target that push is a `Configure`
62
+ * operation, so the caller attaches its connector first.
63
+ */
64
+ saveProjectBranding: (projectId: string, patch: ConnectProjectBrandingSave) => Promise<ConnectProjectBranding>;
65
+ story: {
66
+ status: (projectId: string, storyId: string) => Promise<ConnectStoryStatus>;
47
67
  };
48
68
  /**
49
69
  * The platform's planning surface: projects, user stories and the documents behind them as
@@ -62,25 +82,22 @@ export interface ConnectorApi {
62
82
  resume: (projectId: string, runId: string, args?: {
63
83
  from?: string;
64
84
  force?: boolean;
65
- }) => Promise<ConnectJob>;
85
+ }) => Promise<ConnectPipelineState>;
66
86
  };
67
87
  /**
68
88
  * Bringing an application the platform did not generate onto its rails.
69
89
  *
70
- * Every state-changing verb answers with a JOB, exactly as the project ones do: a conversion
71
- * stage reads a whole repository and takes minutes, and a call that blocked for one would be
72
- * reported to the user as a broken server. `check` and `status` are the two reads — the first
73
- * answered from a census before anything is provisioned or charged, the second the whole
74
- * conversion in one view.
90
+ * State-changing verbs return the conversion's current domain status. Long-running work remains
91
+ * server-side and is observed through `status`; broker records are never part of this API.
75
92
  */
76
93
  convert: {
77
- create: (args: ConnectConvertCreateBody) => Promise<ConnectJob>;
94
+ create: (args: ConnectConvertCreateBody) => Promise<ConversionStatusView>;
78
95
  check: (projectId: string) => Promise<ConvertCheck>;
79
- start: (projectId: string) => Promise<ConnectJob>;
80
- proceed: (projectId: string, decision: ConversionDecision, note?: string) => Promise<ConnectJob>;
81
- cancel: (projectId: string) => Promise<ConnectJob>;
96
+ start: (projectId: string) => Promise<ConversionStatusView>;
97
+ proceed: (projectId: string, decision: ConversionDecision, note?: string) => Promise<ConversionStatusView>;
98
+ cancel: (projectId: string) => Promise<ConversionStatusView>;
82
99
  status: (projectId: string) => Promise<ConversionStatusView>;
83
- purge: (projectId: string) => Promise<ConnectJob>;
100
+ purge: (projectId: string) => Promise<ConversionStatusView>;
84
101
  };
85
102
  /**
86
103
  * Answering a question by its own id.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EACV,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,cAAc,EACtF,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EACtF,oBAAoB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EACjG,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EACnF,eAAe,EAAE,kBAAkB,EACpC,MAAM,yBAAyB,CAAA;AAEhC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,aAAa,CAAA;IACrB,GAAG,EAAE,UAAU,CAAA;IACf,OAAO,EAAE,cAAc,CAAA;IACvB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qFAAqF;IACrF,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAEpD,WAAW,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACnE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC7D,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACrE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAEtF,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QACvE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QACxE,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAA;QACvE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC5D,MAAM,EAAE,CAAC,IAAI,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QACtF,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QAClD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QAClE,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;KACjF,CAAA;IAED;;;;;;;OAOG;IACH,QAAQ,EAAE,cAAc,CAAA;IAExB,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;KAC/C,CAAA;IAED,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC1E,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;KAC7G,CAAA;IAED;;;;;;;;OAQG;IACH,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QAC/D,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;QACnD,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QACjD,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QAChG,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;QAClD,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC5D,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;KAClD,CAAA;IAED;;;;;;;OAOG;IACH,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KACjG,CAAA;CACF;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IACrB,GAAG,EAAE,UAAU,CAAA;IACf,OAAO,EAAE,cAAc,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,mBAAmB,CAAA;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,KAAK,EAAE,YAAY,CAAA;IACnB,yFAAyF;IACzF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACvD,0FAA0F;IAC1F,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,GAAG,IAAI,CAAA;IAC9C,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,SAAS,EAAE,CAAA;IACnC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,4CAA4C;IAC5C,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B;;;;;;OAMG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAChE,qGAAqG;IACrG,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAA;IAC1D,4DAA4D;IAC5D,oBAAoB,EAAE,MAAM,cAAc,EAAE,CAAA;IAC5C,yCAAyC;IACzC,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,MAAM,CAAA;IAC9B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;CACtC;AAED,MAAM,WAAW,SAAU,SAAQ,aAAa;CAAG"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EACV,mBAAmB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,cAAc,EACtF,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAChG,sBAAsB,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,kBAAkB,EAC5F,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EACrD,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,EAAE,cAAc,EAAE,SAAS,EACnF,eAAe,EAAE,kBAAkB,EACpC,MAAM,yBAAyB,CAAA;AAEhC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,aAAa,CAAA;IACrB,GAAG,EAAE,UAAU,CAAA;IACf,OAAO,EAAE,cAAc,CAAA;IACvB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qFAAqF;IACrF,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,MAAM,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAEpD,WAAW,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACnE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC7D,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IACrE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAEtF,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QACjF,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAClF,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC,CAAA;QACvE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC5D,MAAM,EAAE,CAAC,IAAI,EAAE;YAAE,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QACtF,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC5D,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;KAC7E,CAAA;IAED;;;;;;;;OAQG;IACH,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACvE;;;;;;OAMG;IACH,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,0BAA0B,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAE9G,KAAK,EAAE;QACL,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAA;KAC5E,CAAA;IAED;;;;;;;OAOG;IACH,QAAQ,EAAE,cAAc,CAAA;IAExB,KAAK,EAAE;QACL,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;KAC/C,CAAA;IAED,QAAQ,EAAE;QACR,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC1E,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;KACvH,CAAA;IAED;;;;;OAKG;IACH,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,IAAI,EAAE,wBAAwB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QACzE,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;QACnD,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC3D,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC1G,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC5D,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;QAC5D,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAA;KAC5D,CAAA;IAED;;;;;;;OAOG;IACH,OAAO,EAAE;QACP,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KACjG,CAAA;CACF;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IACrB,GAAG,EAAE,UAAU,CAAA;IACf,OAAO,EAAE,cAAc,CAAA;IACvB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,mBAAmB,CAAA;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED,iGAAiG;AACjG,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1D,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,kBAAkB,CAAA;IAC3B,KAAK,EAAE,YAAY,CAAA;IACnB,yFAAyF;IACzF,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IACvD,0FAA0F;IAC1F,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,GAAG,IAAI,CAAA;IAC9C,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,SAAS,EAAE,CAAA;IACnC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,4CAA4C;IAC5C,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B;;;;;;OAMG;IACH,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAChE,qGAAqG;IACrG,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAA;IAC1D,4DAA4D;IAC5D,oBAAoB,EAAE,MAAM,cAAc,EAAE,CAAA;IAC5C,yCAAyC;IACzC,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,MAAM,CAAA;IAC9B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAA;CACtC;AAED,MAAM,WAAW,SAAU,SAAQ,aAAa;CAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owlmeans/viable-sdk",
3
- "version": "0.1.18-rc.21",
3
+ "version": "0.1.18-rc.23",
4
4
  "license": "MIT",
5
5
  "description": "Drive the OwlMeans Viable platform from outside it — the connector session, the local slot executor, the tool catalogue and the model-task protocol an external coding agent answers.",
6
6
  "type": "module",
@@ -62,23 +62,23 @@
62
62
  "agent-meta"
63
63
  ],
64
64
  "dependencies": {
65
- "@owlmeans/api": "^0.1.18-rc.29",
66
- "@owlmeans/auth": "^0.1.18-rc.27",
67
- "@owlmeans/auth-common": "^0.1.18-rc.29",
68
- "@owlmeans/auth-token": "^0.1.18-rc.17",
69
- "@owlmeans/basic-ids": "^0.1.18-rc.26",
70
- "@owlmeans/client-config": "^0.1.18-rc.29",
71
- "@owlmeans/client-context": "^0.1.18-rc.30",
72
- "@owlmeans/client-entrypoint": "^0.1.18-rc.29",
73
- "@owlmeans/client-planning": "^0.1.18-rc.1",
74
- "@owlmeans/config": "^0.1.18-rc.29",
75
- "@owlmeans/context": "^0.1.18-rc.25",
76
- "@owlmeans/entrypoint": "^0.1.18-rc.28",
77
- "@owlmeans/error": "^0.1.18-rc.27",
78
- "@owlmeans/planning": "^0.1.18-rc.1",
79
- "@owlmeans/route": "^0.1.18-rc.26",
80
- "@owlmeans/socket": "^0.1.18-rc.25",
81
- "@owlmeans/viable-common": "^0.0.24",
65
+ "@owlmeans/api": "^0.1.18-rc.31",
66
+ "@owlmeans/auth": "^0.1.18-rc.29",
67
+ "@owlmeans/auth-common": "^0.1.18-rc.31",
68
+ "@owlmeans/auth-token": "^0.1.18-rc.19",
69
+ "@owlmeans/basic-ids": "^0.1.18-rc.28",
70
+ "@owlmeans/client-config": "^0.1.18-rc.31",
71
+ "@owlmeans/client-context": "^0.1.18-rc.32",
72
+ "@owlmeans/client-entrypoint": "^0.1.18-rc.31",
73
+ "@owlmeans/client-planning": "^0.1.18-rc.3",
74
+ "@owlmeans/config": "^0.1.18-rc.31",
75
+ "@owlmeans/context": "^0.1.18-rc.27",
76
+ "@owlmeans/entrypoint": "^0.1.18-rc.30",
77
+ "@owlmeans/error": "^0.1.18-rc.29",
78
+ "@owlmeans/planning": "^0.1.18-rc.3",
79
+ "@owlmeans/route": "^0.1.18-rc.28",
80
+ "@owlmeans/socket": "^0.1.18-rc.27",
81
+ "@owlmeans/viable-common": "^0.0.26",
82
82
  "ajv": "^8.17.1",
83
83
  "fs-extra": "^11.3.0",
84
84
  "globby": "^14.1.0",
@@ -95,7 +95,7 @@
95
95
  "devDependencies": {
96
96
  "@modelcontextprotocol/sdk": "^1.30.0",
97
97
  "@owlmeans/dep-config": "workspace:*",
98
- "@owlmeans/server-planning": "^0.1.18-rc.1",
98
+ "@owlmeans/server-planning": "^0.1.18-rc.3",
99
99
  "@types/bun": "^1.4.0",
100
100
  "@types/fs-extra": "^11.0.4",
101
101
  "@types/node": "^26.1.0",
@@ -1,12 +0,0 @@
1
- import type { ConnectJob } from '@owlmeans/viable-common';
2
- /**
3
- * One job, as a few lines a parent agent can act on.
4
- *
5
- * Written for a model reading a tool result, so it says three things in order and nothing else:
6
- * what is happening, what it is waiting for, and what to call next. The last line is what keeps a
7
- * parent from inventing a polling strategy of its own — or from concluding that a blocked run has
8
- * failed.
9
- */
10
- export declare const renderJob: (job: ConnectJob) => string;
11
- export declare const isSettled: (job: ConnectJob) => boolean;
12
- //# sourceMappingURL=jobs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AAsBzD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,QAAS,UAAU,KAAG,MA6B3C,CAAA;AAED,eAAO,MAAM,SAAS,QAAS,UAAU,KAAG,OACoC,CAAA"}
@@ -1,60 +0,0 @@
1
- import { ConnectJobBlock, ConnectJobStatus } from '@owlmeans/viable-common';
2
- import { JOB_POLL_MAX_SEC } from '../consts.js';
3
- import { refusalPhrase } from './refusal.js';
4
- const NEXT = {
5
- [ConnectJobStatus.Queued]: job => `wait_for { "jobId": "${job.id}", "maxWaitSec": ${JOB_POLL_MAX_SEC} }`,
6
- [ConnectJobStatus.Running]: job => `wait_for { "jobId": "${job.id}", "maxWaitSec": ${JOB_POLL_MAX_SEC} }`,
7
- // A question outranks a model task: a person is slower than a subagent, and a run that stopped
8
- // for one moves again the moment somebody answers.
9
- [ConnectJobStatus.Blocked]: job => job.blockedOn === ConnectJobBlock.Question
10
- ? 'next_question — this run needs a decision from the person you are working for'
11
- : job.blockedOn === ConnectJobBlock.ModelTask
12
- ? 'next_task — this run is waiting for you to perform its model calls'
13
- : job.blockedOn === ConnectJobBlock.Env
14
- ? 'local_setup_guide — the project needs a database it can reach'
15
- : `wait_for { "jobId": "${job.id}", "maxWaitSec": ${JOB_POLL_MAX_SEC} }`,
16
- [ConnectJobStatus.Done]: () => 'nothing — this finished',
17
- [ConnectJobStatus.Failed]: job => job.runId != null
18
- ? `resume_pipeline { "runId": "${job.runId}" } once the cause is addressed`
19
- : 'nothing — read the error and decide',
20
- };
21
- /**
22
- * One job, as a few lines a parent agent can act on.
23
- *
24
- * Written for a model reading a tool result, so it says three things in order and nothing else:
25
- * what is happening, what it is waiting for, and what to call next. The last line is what keeps a
26
- * parent from inventing a polling strategy of its own — or from concluding that a blocked run has
27
- * failed.
28
- */
29
- export const renderJob = (job) => {
30
- const lines = [
31
- `job ${job.id} · ${job.kind} · ${job.status}`
32
- + (job.phase != null ? ` · phase: ${job.phase}` : ''),
33
- ];
34
- if (job.progress != null) {
35
- const done = job.progress.completed.length;
36
- const total = done + job.progress.pending.length;
37
- lines.push(`steps: ${done}/${total} done${job.progress.step != null ? ` · in: ${job.progress.step}` : ''}`);
38
- }
39
- lines.push(`project ${job.projectId}`
40
- + (job.storyId != null ? ` · story ${job.storyId}` : '')
41
- + (job.runId != null ? ` · run ${job.runId}` : ''));
42
- if (job.blockedOn != null)
43
- lines.push(`blocked on: ${job.blockedOn}`);
44
- // The question itself, not only that there is one: a parent that has to make a second call to
45
- // learn what is being asked usually makes none, and waits the whole timeout out instead.
46
- if (job.inquiry != null)
47
- lines.push(`question: ${job.inquiry.question}`);
48
- if (job.message != null)
49
- lines.push(job.message);
50
- // Phrased, because a job's error is a STORED string — the platform writes `lastError` from a
51
- // refusal's own message, so what arrives here is the marker with no class left on it, and often
52
- // the whole marshalled `type|||marker|||stack`. The parent reads this line and decides whether
53
- // to retry, so it has to say what was refused rather than name a class and a stack frame.
54
- if (job.error != null && job.error !== '')
55
- lines.push(`error: ${refusalPhrase(job.error)}`);
56
- lines.push(`next: ${NEXT[job.status](job)}`);
57
- return lines.join('\n');
58
- };
59
- export const isSettled = (job) => job.status === ConnectJobStatus.Done || job.status === ConnectJobStatus.Failed;
60
- //# sourceMappingURL=jobs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../src/tools/jobs.ts"],"names":[],"mappings":"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"}