@wildo-ai/platform-core-shared 1.1.5 → 1.1.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.
Files changed (88) hide show
  1. package/dist/esm/core/resources/resources-operations.custom.shared.definitions.d.ts.map +1 -1
  2. package/dist/esm/core/resources/resources-operations.custom.shared.definitions.js.map +1 -1
  3. package/dist/esm/core/resources/resources-relationships.custom.shared.definitions.d.ts.map +1 -1
  4. package/dist/esm/core/resources/resources-relationships.custom.shared.definitions.js.map +1 -1
  5. package/dist/esm/core/resources/resources-types.custom.shared.schemas.d.ts.map +1 -1
  6. package/dist/esm/core/resources/resources-types.custom.shared.schemas.js.map +1 -1
  7. package/dist/esm/index.d.ts +2 -0
  8. package/dist/esm/index.d.ts.map +1 -1
  9. package/dist/esm/index.js +2 -0
  10. package/dist/esm/index.js.map +1 -1
  11. package/dist/esm/runtime/application-backend-env.contracts.d.ts +21 -2
  12. package/dist/esm/runtime/application-backend-env.contracts.d.ts.map +1 -1
  13. package/dist/esm/runtime/application-backend-env.contracts.js +21 -0
  14. package/dist/esm/runtime/application-backend-env.contracts.js.map +1 -1
  15. package/dist/esm/runtime/application-worker-env.contracts.d.ts.map +1 -1
  16. package/dist/esm/runtime/application-worker-env.contracts.js.map +1 -1
  17. package/dist/esm/runtime/http-server-env.contracts.d.ts +46 -0
  18. package/dist/esm/runtime/http-server-env.contracts.d.ts.map +1 -0
  19. package/dist/esm/runtime/http-server-env.contracts.js +55 -0
  20. package/dist/esm/runtime/http-server-env.contracts.js.map +1 -0
  21. package/dist/esm/runtime/runtime-topology.contracts.d.ts +0 -4
  22. package/dist/esm/runtime/runtime-topology.contracts.d.ts.map +1 -1
  23. package/dist/esm/runtime/runtime-topology.contracts.js +0 -12
  24. package/dist/esm/runtime/runtime-topology.contracts.js.map +1 -1
  25. package/dist/esm/security/authorizations/roles.custom.shared.definitions.d.ts.map +1 -1
  26. package/dist/esm/security/authorizations/roles.custom.shared.definitions.js.map +1 -1
  27. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts +106 -4
  28. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.d.ts.map +1 -1
  29. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.resources-config.schemas.js.map +1 -1
  30. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts +106 -4
  31. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.d.ts.map +1 -1
  32. package/dist/esm/wildo-application-executions/wildo-application-executions.custom.shared.schemas.js.map +1 -1
  33. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts +15 -0
  34. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.d.ts.map +1 -1
  35. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.resources-config.schemas.js.map +1 -1
  36. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts +15 -0
  37. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.d.ts.map +1 -1
  38. package/dist/esm/wildo-application-tasks/wildo-application-tasks.custom.shared.schemas.js.map +1 -1
  39. package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.d.ts.map +1 -1
  40. package/dist/esm/wildo-applications/wildo-applications.custom.shared.resources-config.schemas.js.map +1 -1
  41. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.d.ts +7 -5
  42. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.d.ts.map +1 -1
  43. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.js +7 -5
  44. package/dist/esm/wildo-applications/wildo-applications.custom.shared.schemas.js.map +1 -1
  45. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.d.ts.map +1 -1
  46. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.resources-config.schemas.js.map +1 -1
  47. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.d.ts.map +1 -1
  48. package/dist/esm/wildo-applications-versions/wildo-applications-versions.custom.shared.schemas.js.map +1 -1
  49. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.d.ts.map +1 -1
  50. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js +23 -0
  51. package/dist/esm/workbench/workbench-aspect-resources.custom.shared.schemas.js.map +1 -1
  52. package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.d.ts +279 -0
  53. package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.d.ts.map +1 -0
  54. package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.js +303 -0
  55. package/dist/esm/workbench/workbench-creation-console.custom.shared.schemas.js.map +1 -0
  56. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts +97 -1
  57. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.d.ts.map +1 -1
  58. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.js +86 -0
  59. package/dist/esm/workbench/workbench-creation-conversation.custom.shared.schemas.js.map +1 -1
  60. package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.d.ts.map +1 -1
  61. package/dist/esm/workbench/workbench-creation-dossier.custom.shared.schemas.js.map +1 -1
  62. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts +88 -5
  63. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.d.ts.map +1 -1
  64. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js +89 -7
  65. package/dist/esm/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.js.map +1 -1
  66. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts +230 -13
  67. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.d.ts.map +1 -1
  68. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js +377 -16
  69. package/dist/esm/workbench/workbench-creation-plane.custom.shared.schemas.js.map +1 -1
  70. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.d.ts.map +1 -1
  71. package/dist/esm/workbench/workbench-domain-model.custom.shared.schemas.js.map +1 -1
  72. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts +6 -0
  73. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.d.ts.map +1 -1
  74. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js +8 -0
  75. package/dist/esm/workbench/workbench-resources-types.custom.shared.schemas.js.map +1 -1
  76. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts +45 -2
  77. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.d.ts.map +1 -1
  78. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js +1 -1
  79. package/dist/esm/workbench/workbench-resources.custom.shared.resources-config.schemas.js.map +1 -1
  80. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts +16 -2
  81. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.d.ts.map +1 -1
  82. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js +25 -2
  83. package/dist/esm/workbench/workbench-resources.custom.shared.schemas.js.map +1 -1
  84. package/dist/tsconfig.build.tsbuildinfo +1 -1
  85. package/package.json +4 -4
  86. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts +0 -0
  87. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.d.ts.map +0 -0
  88. package/dist/esm/workbench/workbench-creation-board.custom.shared.schemas.js.map +0 -0
@@ -82,8 +82,104 @@ export declare enum WorkbenchCreationConversationCopyBlock {
82
82
  * filed into the dossier (#1454, Step 5 — walk-through 1). Its intro line, the "filed under"
83
83
  * receipt, the yes/no chips, the all-answered line and the accept-and-run affordance.
84
84
  */
85
- INTERVIEW = "interview"
85
+ INTERVIEW = "interview",
86
+ /**
87
+ * The assistant's TOOLS in a creator's words — what the stream says while one runs, and what the
88
+ * approval card asks before one that costs money or commits runs. Keyed by
89
+ * {@link workbenchToolCopyLeaf}; authored per tool through {@link WorkbenchCreationConversationToolCopy},
90
+ * which is total over {@link WorkbenchCreationConversationTool}, so a tool added without its words
91
+ * stops the companion's label file compiling rather than rendering its identifier.
92
+ */
93
+ TOOLS = "tools"
94
+ }
95
+ /**
96
+ * The creation assistant's TOOLS — the function refs the companion registers and the workbench
97
+ * words (#1454). Shared for the reason every identity in this file is: the companion declares the
98
+ * tools, the workbench renders a status line and an approval card for each, and neither can see the
99
+ * other's source. Until 2026-09-24 the refs lived only in the companion, so the stream printed them
100
+ * verbatim ("Looking things up (creation_read_dossier)…") and the approval card showed the engine's
101
+ * generic tool-name-and-arguments form.
102
+ *
103
+ * The values are the model-facing names: no dot (the runtime makes a ref identifier-safe on its way
104
+ * to the model, and a ref with none survives that unchanged, so the name the browser receives on a
105
+ * tool status or an approval IS this value).
106
+ */
107
+ export declare enum WorkbenchCreationConversationTool {
108
+ /** Reads which families are landed, refused or missing, which steps can run, which tasks are ready. Free. */
109
+ READ_APPLICATION_STATE = "creation_read_application_state",
110
+ /** Reads one produced artifact so the assistant can discuss it. Free. */
111
+ READ_ARTIFACT = "creation_read_artifact",
112
+ /** Starts a playbook run in the background. Costs model calls — APPROVED first. */
113
+ RUN_PLAYBOOK = "creation_run_playbook",
114
+ /**
115
+ * Opens a separate INSTANCE of a step for one purpose (a segment, a feature), recorded in the dossier and
116
+ * committed (#1609). A decision about what the application builds — APPROVED first.
117
+ */
118
+ OPEN_PLAYBOOK_INSTANCE = "creation_open_playbook_instance",
119
+ /**
120
+ * Opens a SECONDARY LINE beside the main line (#1608): develop one feature, named and with what it is for.
121
+ * It is an opened instance of the line's entry composite, recorded and committed like one — APPROVED first.
122
+ */
123
+ OPEN_SECONDARY_LINE = "creation_open_secondary_line",
124
+ /** Reads the application's main line and the secondary lines open beside it (#1608). Free. */
125
+ READ_LINES = "creation_read_lines",
126
+ /**
127
+ * Closes a secondary line: completed, or abandoned (#1608). Recorded and committed; abandoning cancels its
128
+ * waiting runs — APPROVED first.
129
+ */
130
+ CLOSE_SECONDARY_LINE = "creation_close_secondary_line",
131
+ /**
132
+ * Opens a REFINEMENT line (#1608): refine families the application already holds, in place, named by the
133
+ * call. Its own tool because what is approved differs from a feature: WHICH families get re-derived for the
134
+ * whole application. Recorded and committed — APPROVED first.
135
+ */
136
+ OPEN_REFINEMENT_LINE = "creation_open_refinement_line",
137
+ /** Answers, declines or cancels a question a run stopped on. */
138
+ ANSWER_RUN_QUESTION = "creation_answer_run_question",
139
+ /** Researches one objective on the public web. Costs a research-agent run — APPROVED first. */
140
+ RESEARCH = "creation_research",
141
+ /** Reads a step's dossier: what is still needed from the creator. Free. */
142
+ READ_DOSSIER = "creation_read_dossier",
143
+ /** Files one answer the creator gave, in their words. Reversible, so not approved. */
144
+ RECORD_ANSWER = "creation_record_answer",
145
+ /** Adds one build task to the plan. APPROVED first — the approval is the review of the task. */
146
+ PROPOSE_BUILD_TASK = "creation_propose_build_task",
147
+ /** Says what running a task would cost and what it reads. Free. */
148
+ DESCRIBE_TASK = "creation_describe_task",
149
+ /** Runs a ready task on the coding agent. Costs a coding run — APPROVED first. */
150
+ DISPATCH_TASK = "creation_dispatch_task",
151
+ /** Commits what a finished coding run wrote. A commit — APPROVED first. */
152
+ ACCEPT_TASK = "creation_accept_task"
86
153
  }
154
+ /**
155
+ * The words one tool carries. `working` is the stream's line while it runs. `askTitle` and `ask` are
156
+ * the approval card's heading and sentence, present exactly for the tools that stop for approval;
157
+ * `ask` takes `{subject}` — the playbook's title, the task's objective, or the research objective,
158
+ * resolved by the card from the call's own arguments.
159
+ */
160
+ export interface WorkbenchCreationConversationToolWords {
161
+ readonly working: string;
162
+ readonly askTitle?: string;
163
+ readonly ask?: string;
164
+ /**
165
+ * The approval sentence used INSTEAD of `ask` when the call carries the argument that changes what is
166
+ * approved (#1608): a secondary line opened with families it needs back, or one closed as abandoned. It
167
+ * takes `{subject}` and `{detail}`, the card supplying the detail from the call's arguments, so the person
168
+ * approves what is actually recorded rather than finding it behind "Show the details".
169
+ */
170
+ readonly askVariant?: string;
171
+ }
172
+ /** Every tool's words — total over the tool vocabulary, so a new tool cannot ship wordless. */
173
+ export type WorkbenchCreationConversationToolCopy = {
174
+ readonly [tool in WorkbenchCreationConversationTool]: WorkbenchCreationConversationToolWords;
175
+ };
176
+ /** The leaf one tool word lives under inside the `TOOLS` block: `<toolRef>__<word>`. */
177
+ export declare function workbenchToolCopyLeaf(tool: string, word: keyof WorkbenchCreationConversationToolWords): string;
178
+ /**
179
+ * The `TOOLS` block's flat leaves, from the per-tool words. A label leaf is a string, so the typed
180
+ * per-tool shape is authored and this flattens it; the companion's label file is the one caller.
181
+ */
182
+ export declare function flattenWorkbenchToolCopy(copy: WorkbenchCreationConversationToolCopy): Readonly<Record<string, string>>;
87
183
  /**
88
184
  * The playbook an UNTOUCHED application opens on, held as a conversation (decided by constraint,
89
185
  * #1454): the vision interview. Read from the catalog by ref, never restated — the companion's
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-creation-conversation.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/workbench/workbench-creation-conversation.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,wCAAwC,0BAA0B,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,0CAA0C,sCAAsC,CAAC;AAE9F;;;;;GAKG;AACH,eAAO,MAAM,+CAA+C,8BAAoD,CAAC;AAEjH;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,8CAAuE,CAAC;AAE/H;;;;;;;GAOG;AACH,oBAAY,sCAAsC;IAChD;;;OAGG;IACH,IAAI,SAAS;IACb,yFAAyF;IACzF,OAAO,YAAY;IACnB;;;;OAIG;IACH,MAAM,WAAW;IACjB,8EAA8E;IAC9E,QAAQ,aAAa;IACrB;;;;;;OAMG;IACH,SAAS,cAAc;IACvB;;;;OAIG;IACH,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,wCAAwC,gCAAgC,CAAC;AAEtF,qFAAqF;AACrF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAE7F;AAED;;;GAGG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,QAAQ,EAAE,KAAK,IAAI,sCAAsC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7F,CAAC"}
1
+ {"version":3,"file":"workbench-creation-conversation.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/workbench/workbench-creation-conversation.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,wCAAwC,0BAA0B,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,0CAA0C,sCAAsC,CAAC;AAE9F;;;;;GAKG;AACH,eAAO,MAAM,+CAA+C,8BAAoD,CAAC;AAEjH;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,8CAAuE,CAAC;AAE/H;;;;;;;GAOG;AACH,oBAAY,sCAAsC;IAChD;;;OAGG;IACH,IAAI,SAAS;IACb,yFAAyF;IACzF,OAAO,YAAY;IACnB;;;;OAIG;IACH,MAAM,WAAW;IACjB,8EAA8E;IAC9E,QAAQ,aAAa;IACrB;;;;;;OAMG;IACH,SAAS,cAAc;IACvB;;;;OAIG;IACH,SAAS,cAAc;IACvB;;;;;;OAMG;IACH,KAAK,UAAU;CAChB;AAED;;;;;;;;;;;GAWG;AACH,oBAAY,iCAAiC;IAC3C,6GAA6G;IAC7G,sBAAsB,oCAAoC;IAC1D,yEAAyE;IACzE,aAAa,2BAA2B;IACxC,mFAAmF;IACnF,YAAY,0BAA0B;IACtC;;;OAGG;IACH,sBAAsB,oCAAoC;IAC1D;;;OAGG;IACH,mBAAmB,iCAAiC;IACpD,8FAA8F;IAC9F,UAAU,wBAAwB;IAClC;;;OAGG;IACH,oBAAoB,kCAAkC;IACtD;;;;OAIG;IACH,oBAAoB,kCAAkC;IACtD,gEAAgE;IAChE,mBAAmB,iCAAiC;IACpD,+FAA+F;IAC/F,QAAQ,sBAAsB;IAC9B,2EAA2E;IAC3E,YAAY,0BAA0B;IACtC,sFAAsF;IACtF,aAAa,2BAA2B;IACxC,gGAAgG;IAChG,kBAAkB,gCAAgC;IAClD,mEAAmE;IACnE,aAAa,2BAA2B;IACxC,kFAAkF;IAClF,aAAa,2BAA2B;IACxC,2EAA2E;IAC3E,WAAW,yBAAyB;CACrC;AAED;;;;;GAKG;AACH,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,+FAA+F;AAC/F,MAAM,MAAM,qCAAqC,GAAG;IAClD,QAAQ,EAAE,IAAI,IAAI,iCAAiC,GAAG,sCAAsC;CAC7F,CAAC;AAEF,wFAAwF;AACxF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,sCAAsC,GAAG,MAAM,CAE9G;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,qCAAqC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAQtH;AAED;;;;;GAKG;AACH,eAAO,MAAM,wCAAwC,gCAAgC,CAAC;AAEtF,qFAAqF;AACrF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAE7F;AAED;;;GAGG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,QAAQ,EAAE,KAAK,IAAI,sCAAsC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7F,CAAC"}
@@ -84,7 +84,93 @@ export var WorkbenchCreationConversationCopyBlock;
84
84
  * receipt, the yes/no chips, the all-answered line and the accept-and-run affordance.
85
85
  */
86
86
  WorkbenchCreationConversationCopyBlock["INTERVIEW"] = "interview";
87
+ /**
88
+ * The assistant's TOOLS in a creator's words — what the stream says while one runs, and what the
89
+ * approval card asks before one that costs money or commits runs. Keyed by
90
+ * {@link workbenchToolCopyLeaf}; authored per tool through {@link WorkbenchCreationConversationToolCopy},
91
+ * which is total over {@link WorkbenchCreationConversationTool}, so a tool added without its words
92
+ * stops the companion's label file compiling rather than rendering its identifier.
93
+ */
94
+ WorkbenchCreationConversationCopyBlock["TOOLS"] = "tools";
87
95
  })(WorkbenchCreationConversationCopyBlock || (WorkbenchCreationConversationCopyBlock = {}));
96
+ /**
97
+ * The creation assistant's TOOLS — the function refs the companion registers and the workbench
98
+ * words (#1454). Shared for the reason every identity in this file is: the companion declares the
99
+ * tools, the workbench renders a status line and an approval card for each, and neither can see the
100
+ * other's source. Until 2026-09-24 the refs lived only in the companion, so the stream printed them
101
+ * verbatim ("Looking things up (creation_read_dossier)…") and the approval card showed the engine's
102
+ * generic tool-name-and-arguments form.
103
+ *
104
+ * The values are the model-facing names: no dot (the runtime makes a ref identifier-safe on its way
105
+ * to the model, and a ref with none survives that unchanged, so the name the browser receives on a
106
+ * tool status or an approval IS this value).
107
+ */
108
+ export var WorkbenchCreationConversationTool;
109
+ (function (WorkbenchCreationConversationTool) {
110
+ /** Reads which families are landed, refused or missing, which steps can run, which tasks are ready. Free. */
111
+ WorkbenchCreationConversationTool["READ_APPLICATION_STATE"] = "creation_read_application_state";
112
+ /** Reads one produced artifact so the assistant can discuss it. Free. */
113
+ WorkbenchCreationConversationTool["READ_ARTIFACT"] = "creation_read_artifact";
114
+ /** Starts a playbook run in the background. Costs model calls — APPROVED first. */
115
+ WorkbenchCreationConversationTool["RUN_PLAYBOOK"] = "creation_run_playbook";
116
+ /**
117
+ * Opens a separate INSTANCE of a step for one purpose (a segment, a feature), recorded in the dossier and
118
+ * committed (#1609). A decision about what the application builds — APPROVED first.
119
+ */
120
+ WorkbenchCreationConversationTool["OPEN_PLAYBOOK_INSTANCE"] = "creation_open_playbook_instance";
121
+ /**
122
+ * Opens a SECONDARY LINE beside the main line (#1608): develop one feature, named and with what it is for.
123
+ * It is an opened instance of the line's entry composite, recorded and committed like one — APPROVED first.
124
+ */
125
+ WorkbenchCreationConversationTool["OPEN_SECONDARY_LINE"] = "creation_open_secondary_line";
126
+ /** Reads the application's main line and the secondary lines open beside it (#1608). Free. */
127
+ WorkbenchCreationConversationTool["READ_LINES"] = "creation_read_lines";
128
+ /**
129
+ * Closes a secondary line: completed, or abandoned (#1608). Recorded and committed; abandoning cancels its
130
+ * waiting runs — APPROVED first.
131
+ */
132
+ WorkbenchCreationConversationTool["CLOSE_SECONDARY_LINE"] = "creation_close_secondary_line";
133
+ /**
134
+ * Opens a REFINEMENT line (#1608): refine families the application already holds, in place, named by the
135
+ * call. Its own tool because what is approved differs from a feature: WHICH families get re-derived for the
136
+ * whole application. Recorded and committed — APPROVED first.
137
+ */
138
+ WorkbenchCreationConversationTool["OPEN_REFINEMENT_LINE"] = "creation_open_refinement_line";
139
+ /** Answers, declines or cancels a question a run stopped on. */
140
+ WorkbenchCreationConversationTool["ANSWER_RUN_QUESTION"] = "creation_answer_run_question";
141
+ /** Researches one objective on the public web. Costs a research-agent run — APPROVED first. */
142
+ WorkbenchCreationConversationTool["RESEARCH"] = "creation_research";
143
+ /** Reads a step's dossier: what is still needed from the creator. Free. */
144
+ WorkbenchCreationConversationTool["READ_DOSSIER"] = "creation_read_dossier";
145
+ /** Files one answer the creator gave, in their words. Reversible, so not approved. */
146
+ WorkbenchCreationConversationTool["RECORD_ANSWER"] = "creation_record_answer";
147
+ /** Adds one build task to the plan. APPROVED first — the approval is the review of the task. */
148
+ WorkbenchCreationConversationTool["PROPOSE_BUILD_TASK"] = "creation_propose_build_task";
149
+ /** Says what running a task would cost and what it reads. Free. */
150
+ WorkbenchCreationConversationTool["DESCRIBE_TASK"] = "creation_describe_task";
151
+ /** Runs a ready task on the coding agent. Costs a coding run — APPROVED first. */
152
+ WorkbenchCreationConversationTool["DISPATCH_TASK"] = "creation_dispatch_task";
153
+ /** Commits what a finished coding run wrote. A commit — APPROVED first. */
154
+ WorkbenchCreationConversationTool["ACCEPT_TASK"] = "creation_accept_task";
155
+ })(WorkbenchCreationConversationTool || (WorkbenchCreationConversationTool = {}));
156
+ /** The leaf one tool word lives under inside the `TOOLS` block: `<toolRef>__<word>`. */
157
+ export function workbenchToolCopyLeaf(tool, word) {
158
+ return `${tool}__${word}`;
159
+ }
160
+ /**
161
+ * The `TOOLS` block's flat leaves, from the per-tool words. A label leaf is a string, so the typed
162
+ * per-tool shape is authored and this flattens it; the companion's label file is the one caller.
163
+ */
164
+ export function flattenWorkbenchToolCopy(copy) {
165
+ const leaves = {};
166
+ for (const [tool, words] of Object.entries(copy)) {
167
+ for (const [word, text] of Object.entries(words)) {
168
+ if (text !== undefined)
169
+ leaves[workbenchToolCopyLeaf(tool, word)] = text;
170
+ }
171
+ }
172
+ return leaves;
173
+ }
88
174
  /**
89
175
  * The playbook an UNTOUCHED application opens on, held as a conversation (decided by constraint,
90
176
  * #1454): the vision interview. Read from the catalog by ref, never restated — the companion's
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-creation-conversation.custom.shared.schemas.js","sourceRoot":"","sources":["../../../../src/workbench/workbench-creation-conversation.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,uBAAuB,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,mCAAmC,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAG,OAAO,wCAAwC,EAAE,CAAC;AAEjH;;;;GAIG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,mBAAmB,+CAA+C,EAAE,CAAC;AAE/H;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,sCA8BX;AA9BD,WAAY,sCAAsC;IAChD;;;OAGG;IACH,uDAAa,CAAA;IACb,yFAAyF;IACzF,6DAAmB,CAAA;IACnB;;;;OAIG;IACH,2DAAiB,CAAA;IACjB,8EAA8E;IAC9E,+DAAqB,CAAA;IACrB;;;;;;OAMG;IACH,iEAAuB,CAAA;IACvB;;;;OAIG;IACH,iEAAuB,CAAA;AACzB,CAAC,EA9BW,sCAAsC,KAAtC,sCAAsC,QA8BjD;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,6BAA6B,CAAC;AAEtF,qFAAqF;AACrF,MAAM,UAAU,yBAAyB,CAAC,WAAmB,EAAE,IAAsB;IACnF,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;AACzF,CAAC","sourcesContent":["/**\n * The application-creation CONVERSATION's identity — the surface that replaces the three-view board\n * (#1454), shared for the same reason the board's is: the workbench declares the composite view,\n * the companion authors its labels, and neither can see the other's source. A string literal on\n * each side compiles and fails at runtime as a blank menubar item and a headless page, silently.\n *\n * ## What it is\n *\n * Paul, 2026-09-21: the workbench is \"primarily a chatbot, with some elements for details that are\n * displayed\" beside it; what the creator must PROVIDE is kept apart from what the system is DOING;\n * there is no user-facing journey in the playbook phases; and a free session is primordial. And\n * 2026-09-22: no two-zone split navigation, the destinations on the menubar. So this view is the\n * page: a stream and a composer, details opening OVER it as sheets, the workbench's destinations on\n * the menubar. The board stays reachable as a destination until this surface covers it, then\n * retires (#1454, Appendix 4, Step 9).\n *\n * This carries NO React and NO Node: it is a vocabulary, importable by a browser bundle and by a\n * daemon at once.\n */\n\n/**\n * The view's `ref` — the composite-view key, the launcher target, and the `/composite/<ref>` route.\n *\n * No dot, for the reason the board's ref records: both label readers split the whole path on `.`\n * and walk it, so a dotted ref nests its labels one level deeper than anything expects and\n * `tCompositeView` answers the empty string.\n */\nexport const WORKBENCH_CREATION_CONVERSATION_VIEW_REF = 'creation-conversation';\n\n/**\n * The flows-actors SYSTEM the conversation talks to — the creation assistant the companion hosts\n * on the engine's conversational runtime (#1454, Step 4). Shared because the companion REGISTERS\n * it and the workbench DECLARES a view on it, and neither can see the other's source: a mismatch\n * would be a chat that lists no system and says `unavailable`, with nothing reporting why.\n */\nexport const WORKBENCH_CREATION_CONVERSATION_SYSTEM_REF = 'application-creation.conversation';\n\n/**\n * The label path the view's title and description hang off — `composite_views.<this>.title`.\n * Derived by the engine's `buildApplicationViewTranslationRef` (`app.<ref>`) and restated here\n * because the companion cannot import a frontend package to compute it; the workbench's own test\n * asserts it against the engine's derivation.\n */\nexport const WORKBENCH_CREATION_CONVERSATION_TRANSLATION_REF = `app.${WORKBENCH_CREATION_CONVERSATION_VIEW_REF}`;\n\n/**\n * The full label path every word on the conversation page hangs off —\n * `composite_views.app.creation-conversation`. A caller composes\n * `${WORKBENCH_CREATION_CONVERSATION_LABEL_ROOT}.${block}` and reads leaves off it with `useI18n`.\n */\nexport const WORKBENCH_CREATION_CONVERSATION_LABEL_ROOT = `composite_views.${WORKBENCH_CREATION_CONVERSATION_TRANSLATION_REF}`;\n\n/**\n * The page's copy BLOCKS — the contract between the words the page reads and the words the companion\n * authors. A block added here stops the companion's label file compiling until it is authored; the\n * leaves inside a block are the page's business and a leaf nobody authored renders as its own key,\n * visibly (`display-text-comes-from-i18n.md`).\n *\n * One block per surface a reader meets, in the order they meet them.\n */\nexport enum WorkbenchCreationConversationCopyBlock {\n /**\n * HOME: the question the page opens on (\"what do you want to get done?\"), the \"since you were\n * last here\" lines, and the four outcomes (#1454, Step 3).\n */\n HOME = 'home',\n /** The thread switcher: the new-conversation affordance and how a thread's row reads. */\n THREADS = 'threads',\n /**\n * The STREAM: the assistant's name, the empty state, how a run card reads in each state\n * (running, landed, cut short, waiting), the \"filed under\" receipt, and the pointer to a question\n * asked elsewhere.\n */\n STREAM = 'stream',\n /** The COMPOSER: its placeholder, Send, and the suggestion chips above it. */\n COMPOSER = 'composer',\n /**\n * Every PLAYBOOK's words for a creator — a title and a one-line goal — keyed by its ref with dots\n * replaced by `__` (`sanitizeWorkbenchCreationPlaneIdentity`), because a label leaf may not\n * contain a dot: `top_down__vision-elicitation__title`, `…__goal`. The catalog's own `intent` is\n * an engineering paragraph; these are the words Home and the stream use for it. A companion test\n * holds the set equal to the compiled catalog (#1454, R13).\n */\n PLAYBOOKS = 'playbooks',\n /**\n * The INTERVIEW: a playbook's declared questions asked one per turn, as chat, with each answer\n * filed into the dossier (#1454, Step 5 — walk-through 1). Its intro line, the \"filed under\"\n * receipt, the yes/no chips, the all-answered line and the accept-and-run affordance.\n */\n INTERVIEW = 'interview',\n}\n\n/**\n * The playbook an UNTOUCHED application opens on, held as a conversation (decided by constraint,\n * #1454): the vision interview. Read from the catalog by ref, never restated — the companion's\n * playbook-words test pins that this ref is a compiled playbook, so a renamed catalog entry fails\n * a test rather than opening a blank interview.\n */\nexport const WORKBENCH_OPENING_INTERVIEW_PLAYBOOK_REF = 'top_down.vision-elicitation';\n\n/** The leaf a playbook's title or goal lives under, inside the `PLAYBOOKS` block. */\nexport function workbenchPlaybookCopyLeaf(playbookRef: string, word: 'title' | 'goal'): string {\n return `${playbookRef.replaceAll('.', '__').replace(/[^a-zA-Z0-9_-]/g, '-')}__${word}`;\n}\n\n/**\n * The authored copy, keyed by block — the type the companion's label file satisfies. Same shape and\n * same reasoning the retired board's copy type had (#1489: its blocks were re-homed per resource).\n */\nexport type WorkbenchCreationConversationCopyLabels = {\n readonly [block in WorkbenchCreationConversationCopyBlock]: Readonly<Record<string, string>>;\n};\n"]}
1
+ {"version":3,"file":"workbench-creation-conversation.custom.shared.schemas.js","sourceRoot":"","sources":["../../../src/workbench/workbench-creation-conversation.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,uBAAuB,CAAC;AAEhF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,mCAAmC,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAG,OAAO,wCAAwC,EAAE,CAAC;AAEjH;;;;GAIG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAG,mBAAmB,+CAA+C,EAAE,CAAC;AAE/H;;;;;;;GAOG;AACH,MAAM,CAAN,IAAY,sCAsCX;AAtCD,WAAY,sCAAsC;IAChD;;;OAGG;IACH,uDAAa,CAAA;IACb,yFAAyF;IACzF,6DAAmB,CAAA;IACnB;;;;OAIG;IACH,2DAAiB,CAAA;IACjB,8EAA8E;IAC9E,+DAAqB,CAAA;IACrB;;;;;;OAMG;IACH,iEAAuB,CAAA;IACvB;;;;OAIG;IACH,iEAAuB,CAAA;IACvB;;;;;;OAMG;IACH,yDAAe,CAAA;AACjB,CAAC,EAtCW,sCAAsC,KAAtC,sCAAsC,QAsCjD;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAN,IAAY,iCA8CX;AA9CD,WAAY,iCAAiC;IAC3C,6GAA6G;IAC7G,+FAA0D,CAAA;IAC1D,yEAAyE;IACzE,6EAAwC,CAAA;IACxC,mFAAmF;IACnF,2EAAsC,CAAA;IACtC;;;OAGG;IACH,+FAA0D,CAAA;IAC1D;;;OAGG;IACH,yFAAoD,CAAA;IACpD,8FAA8F;IAC9F,uEAAkC,CAAA;IAClC;;;OAGG;IACH,2FAAsD,CAAA;IACtD;;;;OAIG;IACH,2FAAsD,CAAA;IACtD,gEAAgE;IAChE,yFAAoD,CAAA;IACpD,+FAA+F;IAC/F,mEAA8B,CAAA;IAC9B,2EAA2E;IAC3E,2EAAsC,CAAA;IACtC,sFAAsF;IACtF,6EAAwC,CAAA;IACxC,gGAAgG;IAChG,uFAAkD,CAAA;IAClD,mEAAmE;IACnE,6EAAwC,CAAA;IACxC,kFAAkF;IAClF,6EAAwC,CAAA;IACxC,2EAA2E;IAC3E,yEAAoC,CAAA;AACtC,CAAC,EA9CW,iCAAiC,KAAjC,iCAAiC,QA8C5C;AA0BD,wFAAwF;AACxF,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,IAAkD;IACpG,OAAO,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAA2C;IAClF,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAuD,EAAE,CAAC;QACvG,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAyE,EAAE,CAAC;YACzH,IAAI,IAAI,KAAK,SAAS;gBAAE,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,6BAA6B,CAAC;AAEtF,qFAAqF;AACrF,MAAM,UAAU,yBAAyB,CAAC,WAAmB,EAAE,IAAsB;IACnF,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;AACzF,CAAC","sourcesContent":["/**\n * The application-creation CONVERSATION's identity — the surface that replaces the three-view board\n * (#1454), shared for the same reason the board's is: the workbench declares the composite view,\n * the companion authors its labels, and neither can see the other's source. A string literal on\n * each side compiles and fails at runtime as a blank menubar item and a headless page, silently.\n *\n * ## What it is\n *\n * Paul, 2026-09-21: the workbench is \"primarily a chatbot, with some elements for details that are\n * displayed\" beside it; what the creator must PROVIDE is kept apart from what the system is DOING;\n * there is no user-facing journey in the playbook phases; and a free session is primordial. And\n * 2026-09-22: no two-zone split navigation, the destinations on the menubar. So this view is the\n * page: a stream and a composer, details opening OVER it as sheets, the workbench's destinations on\n * the menubar. The board stays reachable as a destination until this surface covers it, then\n * retires (#1454, Appendix 4, Step 9).\n *\n * This carries NO React and NO Node: it is a vocabulary, importable by a browser bundle and by a\n * daemon at once.\n */\n\n/**\n * The view's `ref` — the composite-view key, the launcher target, and the `/composite/<ref>` route.\n *\n * No dot, for the reason the board's ref records: both label readers split the whole path on `.`\n * and walk it, so a dotted ref nests its labels one level deeper than anything expects and\n * `tCompositeView` answers the empty string.\n */\nexport const WORKBENCH_CREATION_CONVERSATION_VIEW_REF = 'creation-conversation';\n\n/**\n * The flows-actors SYSTEM the conversation talks to — the creation assistant the companion hosts\n * on the engine's conversational runtime (#1454, Step 4). Shared because the companion REGISTERS\n * it and the workbench DECLARES a view on it, and neither can see the other's source: a mismatch\n * would be a chat that lists no system and says `unavailable`, with nothing reporting why.\n */\nexport const WORKBENCH_CREATION_CONVERSATION_SYSTEM_REF = 'application-creation.conversation';\n\n/**\n * The label path the view's title and description hang off — `composite_views.<this>.title`.\n * Derived by the engine's `buildApplicationViewTranslationRef` (`app.<ref>`) and restated here\n * because the companion cannot import a frontend package to compute it; the workbench's own test\n * asserts it against the engine's derivation.\n */\nexport const WORKBENCH_CREATION_CONVERSATION_TRANSLATION_REF = `app.${WORKBENCH_CREATION_CONVERSATION_VIEW_REF}`;\n\n/**\n * The full label path every word on the conversation page hangs off —\n * `composite_views.app.creation-conversation`. A caller composes\n * `${WORKBENCH_CREATION_CONVERSATION_LABEL_ROOT}.${block}` and reads leaves off it with `useI18n`.\n */\nexport const WORKBENCH_CREATION_CONVERSATION_LABEL_ROOT = `composite_views.${WORKBENCH_CREATION_CONVERSATION_TRANSLATION_REF}`;\n\n/**\n * The page's copy BLOCKS — the contract between the words the page reads and the words the companion\n * authors. A block added here stops the companion's label file compiling until it is authored; the\n * leaves inside a block are the page's business and a leaf nobody authored renders as its own key,\n * visibly (`display-text-comes-from-i18n.md`).\n *\n * One block per surface a reader meets, in the order they meet them.\n */\nexport enum WorkbenchCreationConversationCopyBlock {\n /**\n * HOME: the question the page opens on (\"what do you want to get done?\"), the \"since you were\n * last here\" lines, and the four outcomes (#1454, Step 3).\n */\n HOME = 'home',\n /** The thread switcher: the new-conversation affordance and how a thread's row reads. */\n THREADS = 'threads',\n /**\n * The STREAM: the assistant's name, the empty state, how a run card reads in each state\n * (running, landed, cut short, waiting), the \"filed under\" receipt, and the pointer to a question\n * asked elsewhere.\n */\n STREAM = 'stream',\n /** The COMPOSER: its placeholder, Send, and the suggestion chips above it. */\n COMPOSER = 'composer',\n /**\n * Every PLAYBOOK's words for a creator — a title and a one-line goal — keyed by its ref with dots\n * replaced by `__` (`sanitizeWorkbenchCreationPlaneIdentity`), because a label leaf may not\n * contain a dot: `top_down__vision-elicitation__title`, `…__goal`. The catalog's own `intent` is\n * an engineering paragraph; these are the words Home and the stream use for it. A companion test\n * holds the set equal to the compiled catalog (#1454, R13).\n */\n PLAYBOOKS = 'playbooks',\n /**\n * The INTERVIEW: a playbook's declared questions asked one per turn, as chat, with each answer\n * filed into the dossier (#1454, Step 5 — walk-through 1). Its intro line, the \"filed under\"\n * receipt, the yes/no chips, the all-answered line and the accept-and-run affordance.\n */\n INTERVIEW = 'interview',\n /**\n * The assistant's TOOLS in a creator's words — what the stream says while one runs, and what the\n * approval card asks before one that costs money or commits runs. Keyed by\n * {@link workbenchToolCopyLeaf}; authored per tool through {@link WorkbenchCreationConversationToolCopy},\n * which is total over {@link WorkbenchCreationConversationTool}, so a tool added without its words\n * stops the companion's label file compiling rather than rendering its identifier.\n */\n TOOLS = 'tools',\n}\n\n/**\n * The creation assistant's TOOLS — the function refs the companion registers and the workbench\n * words (#1454). Shared for the reason every identity in this file is: the companion declares the\n * tools, the workbench renders a status line and an approval card for each, and neither can see the\n * other's source. Until 2026-09-24 the refs lived only in the companion, so the stream printed them\n * verbatim (\"Looking things up (creation_read_dossier)…\") and the approval card showed the engine's\n * generic tool-name-and-arguments form.\n *\n * The values are the model-facing names: no dot (the runtime makes a ref identifier-safe on its way\n * to the model, and a ref with none survives that unchanged, so the name the browser receives on a\n * tool status or an approval IS this value).\n */\nexport enum WorkbenchCreationConversationTool {\n /** Reads which families are landed, refused or missing, which steps can run, which tasks are ready. Free. */\n READ_APPLICATION_STATE = 'creation_read_application_state',\n /** Reads one produced artifact so the assistant can discuss it. Free. */\n READ_ARTIFACT = 'creation_read_artifact',\n /** Starts a playbook run in the background. Costs model calls — APPROVED first. */\n RUN_PLAYBOOK = 'creation_run_playbook',\n /**\n * Opens a separate INSTANCE of a step for one purpose (a segment, a feature), recorded in the dossier and\n * committed (#1609). A decision about what the application builds — APPROVED first.\n */\n OPEN_PLAYBOOK_INSTANCE = 'creation_open_playbook_instance',\n /**\n * Opens a SECONDARY LINE beside the main line (#1608): develop one feature, named and with what it is for.\n * It is an opened instance of the line's entry composite, recorded and committed like one — APPROVED first.\n */\n OPEN_SECONDARY_LINE = 'creation_open_secondary_line',\n /** Reads the application's main line and the secondary lines open beside it (#1608). Free. */\n READ_LINES = 'creation_read_lines',\n /**\n * Closes a secondary line: completed, or abandoned (#1608). Recorded and committed; abandoning cancels its\n * waiting runs — APPROVED first.\n */\n CLOSE_SECONDARY_LINE = 'creation_close_secondary_line',\n /**\n * Opens a REFINEMENT line (#1608): refine families the application already holds, in place, named by the\n * call. Its own tool because what is approved differs from a feature: WHICH families get re-derived for the\n * whole application. Recorded and committed — APPROVED first.\n */\n OPEN_REFINEMENT_LINE = 'creation_open_refinement_line',\n /** Answers, declines or cancels a question a run stopped on. */\n ANSWER_RUN_QUESTION = 'creation_answer_run_question',\n /** Researches one objective on the public web. Costs a research-agent run — APPROVED first. */\n RESEARCH = 'creation_research',\n /** Reads a step's dossier: what is still needed from the creator. Free. */\n READ_DOSSIER = 'creation_read_dossier',\n /** Files one answer the creator gave, in their words. Reversible, so not approved. */\n RECORD_ANSWER = 'creation_record_answer',\n /** Adds one build task to the plan. APPROVED first — the approval is the review of the task. */\n PROPOSE_BUILD_TASK = 'creation_propose_build_task',\n /** Says what running a task would cost and what it reads. Free. */\n DESCRIBE_TASK = 'creation_describe_task',\n /** Runs a ready task on the coding agent. Costs a coding run — APPROVED first. */\n DISPATCH_TASK = 'creation_dispatch_task',\n /** Commits what a finished coding run wrote. A commit — APPROVED first. */\n ACCEPT_TASK = 'creation_accept_task',\n}\n\n/**\n * The words one tool carries. `working` is the stream's line while it runs. `askTitle` and `ask` are\n * the approval card's heading and sentence, present exactly for the tools that stop for approval;\n * `ask` takes `{subject}` — the playbook's title, the task's objective, or the research objective,\n * resolved by the card from the call's own arguments.\n */\nexport interface WorkbenchCreationConversationToolWords {\n readonly working: string;\n readonly askTitle?: string;\n readonly ask?: string;\n /**\n * The approval sentence used INSTEAD of `ask` when the call carries the argument that changes what is\n * approved (#1608): a secondary line opened with families it needs back, or one closed as abandoned. It\n * takes `{subject}` and `{detail}`, the card supplying the detail from the call's arguments, so the person\n * approves what is actually recorded rather than finding it behind \"Show the details\".\n */\n readonly askVariant?: string;\n}\n\n/** Every tool's words — total over the tool vocabulary, so a new tool cannot ship wordless. */\nexport type WorkbenchCreationConversationToolCopy = {\n readonly [tool in WorkbenchCreationConversationTool]: WorkbenchCreationConversationToolWords;\n};\n\n/** The leaf one tool word lives under inside the `TOOLS` block: `<toolRef>__<word>`. */\nexport function workbenchToolCopyLeaf(tool: string, word: keyof WorkbenchCreationConversationToolWords): string {\n return `${tool}__${word}`;\n}\n\n/**\n * The `TOOLS` block's flat leaves, from the per-tool words. A label leaf is a string, so the typed\n * per-tool shape is authored and this flattens it; the companion's label file is the one caller.\n */\nexport function flattenWorkbenchToolCopy(copy: WorkbenchCreationConversationToolCopy): Readonly<Record<string, string>> {\n const leaves: Record<string, string> = {};\n for (const [tool, words] of Object.entries(copy) as [string, WorkbenchCreationConversationToolWords][]) {\n for (const [word, text] of Object.entries(words) as [keyof WorkbenchCreationConversationToolWords, string | undefined][]) {\n if (text !== undefined) leaves[workbenchToolCopyLeaf(tool, word)] = text;\n }\n }\n return leaves;\n}\n\n/**\n * The playbook an UNTOUCHED application opens on, held as a conversation (decided by constraint,\n * #1454): the vision interview. Read from the catalog by ref, never restated — the companion's\n * playbook-words test pins that this ref is a compiled playbook, so a renamed catalog entry fails\n * a test rather than opening a blank interview.\n */\nexport const WORKBENCH_OPENING_INTERVIEW_PLAYBOOK_REF = 'top_down.vision-elicitation';\n\n/** The leaf a playbook's title or goal lives under, inside the `PLAYBOOKS` block. */\nexport function workbenchPlaybookCopyLeaf(playbookRef: string, word: 'title' | 'goal'): string {\n return `${playbookRef.replaceAll('.', '__').replace(/[^a-zA-Z0-9_-]/g, '-')}__${word}`;\n}\n\n/**\n * The authored copy, keyed by block — the type the companion's label file satisfies. Same shape and\n * same reasoning the retired board's copy type had (#1489: its blocks were re-homed per resource).\n */\nexport type WorkbenchCreationConversationCopyLabels = {\n readonly [block in WorkbenchCreationConversationCopyBlock]: Readonly<Record<string, string>>;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-creation-dossier.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../../src/workbench/workbench-creation-dossier.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mCAAmC,qBAAqB,CAAC;AACtE,eAAO,MAAM,0CAA0C,yBAA+C,CAAC;AACvG,eAAO,MAAM,qCAAqC,yCAAkE,CAAC;AAErH;;;;;GAKG;AACH,oBAAY,+BAA+B;IACzC,qFAAqF;IACrF,SAAS,cAAc;IACvB,yFAAyF;IACzF,UAAU,eAAe;IACzB,mGAAmG;IACnG,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,uCAAuC,EAAE,SAAS,+BAA+B,EAC9C,CAAC;AAEjD,MAAM,MAAM,qCAAqC,GAAG;IAClD,QAAQ,EAAE,OAAO,IAAI,+BAA+B,GAAG;QACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B;CACF,CAAC;AAEF,kHAAkH;AAClH,oBAAY,iCAAiC;IAC3C,oGAAoG;IACpG,SAAS,cAAc;IACvB,2GAA2G;IAC3G,UAAU,eAAe;CAC1B;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,EAAE,KAAK,IAAI,iCAAiC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxF,CAAC"}
1
+ {"version":3,"file":"workbench-creation-dossier.custom.shared.schemas.d.ts","sourceRoot":"","sources":["../../../src/workbench/workbench-creation-dossier.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mCAAmC,qBAAqB,CAAC;AACtE,eAAO,MAAM,0CAA0C,yBAA+C,CAAC;AACvG,eAAO,MAAM,qCAAqC,yCAAkE,CAAC;AAErH;;;;;GAKG;AACH,oBAAY,+BAA+B;IACzC,qFAAqF;IACrF,SAAS,cAAc;IACvB,yFAAyF;IACzF,UAAU,eAAe;IACzB,mGAAmG;IACnG,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,uCAAuC,EAAE,SAAS,+BAA+B,EAC9C,CAAC;AAEjD,MAAM,MAAM,qCAAqC,GAAG;IAClD,QAAQ,EAAE,OAAO,IAAI,+BAA+B,GAAG;QACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;KAC9B;CACF,CAAC;AAEF,kHAAkH;AAClH,oBAAY,iCAAiC;IAC3C,oGAAoG;IACpG,SAAS,cAAc;IACvB,2GAA2G;IAC3G,UAAU,eAAe;CAC1B;AAED,MAAM,MAAM,kCAAkC,GAAG;IAC/C,QAAQ,EAAE,KAAK,IAAI,iCAAiC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-creation-dossier.custom.shared.schemas.js","sourceRoot":"","sources":["../../../../src/workbench/workbench-creation-dossier.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,kBAAkB,CAAC;AACtE,MAAM,CAAC,MAAM,0CAA0C,GAAG,OAAO,mCAAmC,EAAE,CAAC;AACvG,MAAM,CAAC,MAAM,qCAAqC,GAAG,mBAAmB,0CAA0C,EAAE,CAAC;AAErH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,+BAOX;AAPD,WAAY,+BAA+B;IACzC,qFAAqF;IACrF,0DAAuB,CAAA;IACvB,yFAAyF;IACzF,4DAAyB,CAAA;IACzB,mGAAmG;IACnG,sDAAmB,CAAA;AACrB,CAAC,EAPW,+BAA+B,KAA/B,+BAA+B,QAO1C;AAED,MAAM,CAAC,MAAM,uCAAuC,GAClD,MAAM,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;AASjD,kHAAkH;AAClH,MAAM,CAAN,IAAY,iCAKX;AALD,WAAY,iCAAiC;IAC3C,oGAAoG;IACpG,4DAAuB,CAAA;IACvB,2GAA2G;IAC3G,8DAAyB,CAAA;AAC3B,CAAC,EALW,iCAAiC,KAAjC,iCAAiC,QAK5C","sourcesContent":["/**\n * THE DOSSIER page — \"What you told us\" (#1454, Step 6): everything the creator was asked, by a\n * playbook interview or by a governed document, with their answer or the gap; and what the product\n * answers for them.\n *\n * Three sources, one page, and the page STORES nothing: the interview half is `workbenchDossierEntries`,\n * the governance half is `workbenchGovernanceQuestions` (each row carrying its standing), and the\n * derived facts are the governed documents' own `derivedFactRefs`. Each source is one embedded\n * resource LIST, so the filters are the resources' own: standing as the quick-filter tabs, and\n * `askedNow` — what blocks something now — as a declared filter.\n *\n * Same contract shape as the conversation view beside it: a view ref with no dot, a translation ref\n * under `app.`, and typed copy blocks the companion's label file must satisfy.\n */\nexport const WORKBENCH_CREATION_DOSSIER_VIEW_REF = 'creation-dossier';\nexport const WORKBENCH_CREATION_DOSSIER_TRANSLATION_REF = `app.${WORKBENCH_CREATION_DOSSIER_VIEW_REF}`;\nexport const WORKBENCH_CREATION_DOSSIER_LABEL_ROOT = `composite_views.${WORKBENCH_CREATION_DOSSIER_TRANSLATION_REF}`;\n\n/**\n * The dossier page's SECTIONS — one per source, each an embedded resource LIST rendered by the engine\n * (#1454, Step 6, reworked 2026-09-22 onto the composite-view section contract the board uses).\n * Filters and standing words are the resources' own (`quickFilterField`, `system_enums`); the page\n * authors only the three section headings and the row actions' words.\n */\nexport enum WorkbenchCreationDossierSection {\n /** `workbenchDossierEntries`: every interview question, answered or still needed. */\n INTERVIEW = 'interview',\n /** `workbenchGovernanceQuestions`: every governed-document question a person answers. */\n GOVERNANCE = 'governance',\n /** `workbenchGovernanceDocuments`: each document with the facts the product establishes for it. */\n PRODUCT = 'product',\n}\n\nexport const WORKBENCH_CREATION_DOSSIER_SECTION_REFS: readonly WorkbenchCreationDossierSection[] =\n Object.values(WorkbenchCreationDossierSection);\n\nexport type WorkbenchCreationDossierSectionLabels = {\n readonly [section in WorkbenchCreationDossierSection]: {\n readonly title: string;\n readonly description: string;\n };\n};\n\n/** The row ACTIONS' copy blocks — the words the two question resources' summary rows show beside their fields. */\nexport enum WorkbenchCreationDossierCopyBlock {\n /** One interview entry: the way in (answer / change), who asks it, whether the step can run now. */\n INTERVIEW = 'interview',\n /** One governed-document question: the way in, whether a draft waits on it, whether a reviewer is owed. */\n GOVERNANCE = 'governance',\n}\n\nexport type WorkbenchCreationDossierCopyLabels = {\n readonly [block in WorkbenchCreationDossierCopyBlock]: Readonly<Record<string, string>>;\n};\n"]}
1
+ {"version":3,"file":"workbench-creation-dossier.custom.shared.schemas.js","sourceRoot":"","sources":["../../../src/workbench/workbench-creation-dossier.custom.shared.schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,kBAAkB,CAAC;AACtE,MAAM,CAAC,MAAM,0CAA0C,GAAG,OAAO,mCAAmC,EAAE,CAAC;AACvG,MAAM,CAAC,MAAM,qCAAqC,GAAG,mBAAmB,0CAA0C,EAAE,CAAC;AAErH;;;;;GAKG;AACH,MAAM,CAAN,IAAY,+BAOX;AAPD,WAAY,+BAA+B;IACzC,qFAAqF;IACrF,0DAAuB,CAAA;IACvB,yFAAyF;IACzF,4DAAyB,CAAA;IACzB,mGAAmG;IACnG,sDAAmB,CAAA;AACrB,CAAC,EAPW,+BAA+B,KAA/B,+BAA+B,QAO1C;AAED,MAAM,CAAC,MAAM,uCAAuC,GAClD,MAAM,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC;AASjD,kHAAkH;AAClH,MAAM,CAAN,IAAY,iCAKX;AALD,WAAY,iCAAiC;IAC3C,oGAAoG;IACpG,4DAAuB,CAAA;IACvB,2GAA2G;IAC3G,8DAAyB,CAAA;AAC3B,CAAC,EALW,iCAAiC,KAAjC,iCAAiC,QAK5C","sourcesContent":["/**\n * THE DOSSIER page — \"What you told us\" (#1454, Step 6): everything the creator was asked, by a\n * playbook interview or by a governed document, with their answer or the gap; and what the product\n * answers for them.\n *\n * Three sources, one page, and the page STORES nothing: the interview half is `workbenchDossierEntries`,\n * the governance half is `workbenchGovernanceQuestions` (each row carrying its standing), and the\n * derived facts are the governed documents' own `derivedFactRefs`. Each source is one embedded\n * resource LIST, so the filters are the resources' own: standing as the quick-filter tabs, and\n * `askedNow` — what blocks something now — as a declared filter.\n *\n * Same contract shape as the conversation view beside it: a view ref with no dot, a translation ref\n * under `app.`, and typed copy blocks the companion's label file must satisfy.\n */\nexport const WORKBENCH_CREATION_DOSSIER_VIEW_REF = 'creation-dossier';\nexport const WORKBENCH_CREATION_DOSSIER_TRANSLATION_REF = `app.${WORKBENCH_CREATION_DOSSIER_VIEW_REF}`;\nexport const WORKBENCH_CREATION_DOSSIER_LABEL_ROOT = `composite_views.${WORKBENCH_CREATION_DOSSIER_TRANSLATION_REF}`;\n\n/**\n * The dossier page's SECTIONS — one per source, each an embedded resource LIST rendered by the engine\n * (#1454, Step 6, reworked 2026-09-22 onto the composite-view section contract the board uses).\n * Filters and standing words are the resources' own (`quickFilterField`, `system_enums`); the page\n * authors only the three section headings and the row actions' words.\n */\nexport enum WorkbenchCreationDossierSection {\n /** `workbenchDossierEntries`: every interview question, answered or still needed. */\n INTERVIEW = 'interview',\n /** `workbenchGovernanceQuestions`: every governed-document question a person answers. */\n GOVERNANCE = 'governance',\n /** `workbenchGovernanceDocuments`: each document with the facts the product establishes for it. */\n PRODUCT = 'product',\n}\n\nexport const WORKBENCH_CREATION_DOSSIER_SECTION_REFS: readonly WorkbenchCreationDossierSection[] =\n Object.values(WorkbenchCreationDossierSection);\n\nexport type WorkbenchCreationDossierSectionLabels = {\n readonly [section in WorkbenchCreationDossierSection]: {\n readonly title: string;\n readonly description: string;\n };\n};\n\n/** The row ACTIONS' copy blocks — the words the two question resources' summary rows show beside their fields. */\nexport enum WorkbenchCreationDossierCopyBlock {\n /** One interview entry: the way in (answer / change), who asks it, whether the step can run now. */\n INTERVIEW = 'interview',\n /** One governed-document question: the way in, whether a draft waits on it, whether a reviewer is owed. */\n GOVERNANCE = 'governance',\n}\n\nexport type WorkbenchCreationDossierCopyLabels = {\n readonly [block in WorkbenchCreationDossierCopyBlock]: Readonly<Record<string, string>>;\n};\n"]}
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { CORE_APP_ROLES, CoreResourceOperation, ResourceOperationRiskLevel, ResourceOperationVariantType, ResourceRelationship } from '@wildo-ai/saas-models';
3
- import { WorkbenchDossierEntries_Operations, WorkbenchGovernanceDocuments_Operations, WorkbenchParkedCodingQuestions_Operations, WorkbenchTraceSessions_Operations, WorkbenchBuildPlanTasks_Operations, WorkbenchPlaybooks_Operations, WorkbenchRunWriteRecords_Operations } from './workbench-creation-plane.custom.shared.schemas';
3
+ import { WorkbenchSpecificationArtifactConcern } from './workbench-resources.custom.shared.schemas';
4
+ import { WorkbenchDossierEntries_Operations, WorkbenchDossierEntryStanding, WorkbenchGovernanceDocuments_Operations, WorkbenchParkedCodingQuestions_Operations, WorkbenchApplicationSecrets_Operations, ApplicationSecretStanding, WorkbenchTraceSessions_Operations, WorkbenchBuildPlanTasks_Operations, WorkbenchPlaybooks_Operations, WorkbenchRunWriteRecords_Operations } from './workbench-creation-plane.custom.shared.schemas';
4
5
  /**
5
6
  * Resource configurations for the CREATION PLANE — the four companion-runtime families the creation
6
7
  * board consumes as resources (`workbench-creation-board-resources.md`, Phase 2; decides #166).
@@ -77,6 +78,12 @@ export declare const workbenchPlaybooks_ResourceConfiguration_InitializationFact
77
78
  family: z.ZodString;
78
79
  changedInputs: z.ZodArray<z.ZodString>;
79
80
  }, z.core.$strip>>>;
81
+ activeInLine: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodBoolean>>;
82
+ activationDetail: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodString>>;
83
+ openInstances: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodArray<z.ZodObject<{
84
+ instanceKey: z.ZodString;
85
+ purpose: z.ZodString;
86
+ }, z.core.$strip>>>>;
80
87
  computedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>;
81
88
  }, z.core.$strip>>;
82
89
  export declare const workbenchBuildPlanTasks_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<typeof WorkbenchBuildPlanTasks_Operations, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
@@ -110,6 +117,12 @@ export declare const workbenchTraceSessions_ResourceConfiguration_Initialization
110
117
  eventCount: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNumber>;
111
118
  stepCount: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNumber>;
112
119
  }, z.core.$strip>>;
120
+ /**
121
+ * The collection-export PDF template the governance-documents listing is printed through (#1645): every
122
+ * governed document's current text — its release, else its latest draft — as one file a creator can
123
+ * hand to a reviewer. The companion binds the template under this id; boot refuses either half alone.
124
+ */
125
+ export declare const WORKBENCH_GOVERNED_DOCUMENTS_PDF_TEMPLATE_ID = "workbench.governed-documents.v1";
113
126
  export declare const workbenchGovernanceDocuments_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<typeof WorkbenchGovernanceDocuments_Operations, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
114
127
  workbenchGovernanceDocumentId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
115
128
  definitionRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
@@ -133,7 +146,7 @@ export declare const workbenchGovernanceQuestions_ResourceConfiguration_Initiali
133
146
  optionRef: z.ZodString;
134
147
  creatorMeaning: z.ZodString;
135
148
  }, z.core.$strip>>>;
136
- standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").WorkbenchDossierEntryStanding>>>;
149
+ standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof WorkbenchDossierEntryStanding>>>;
137
150
  answerSummary: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
138
151
  answeredAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodDate>>;
139
152
  askedNow: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
@@ -166,6 +179,7 @@ export declare const workbenchBuildDispatchPlan_ResourceConfiguration_Initializa
166
179
  export declare const workbenchBuildDispatches_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<any, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
167
180
  workbenchBuildDispatchId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
168
181
  taskRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
182
+ objective: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
169
183
  phase: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").Workbench_BuildDispatchPhase>>>;
170
184
  startedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>;
171
185
  settledAt: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>>;
@@ -178,6 +192,7 @@ export declare const workbenchPlaybookRuns_ResourceConfiguration_InitializationF
178
192
  workbenchPlaybookRunId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
179
193
  runId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
180
194
  playbookRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
195
+ instanceKey: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
181
196
  traceSessionId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
182
197
  conversationId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
183
198
  state: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").Workbench_PlaybookRunState>>>;
@@ -213,10 +228,15 @@ export declare const workbenchWaitingPlaybookRuns_ResourceConfiguration_Initiali
213
228
  kind: z.ZodString;
214
229
  options: z.ZodArray<z.ZodString>;
215
230
  }, z.core.$strip>>>;
231
+ routedToUserId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
216
232
  }, z.core.$strip>>;
217
233
  export declare const workbenchCodingLaneStatus_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<any, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
218
234
  workbenchCodingLaneStatusId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
219
235
  codingAgentRegistered: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
236
+ codingAgentProviderRef: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
237
+ codingAgentSignedIn: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>>;
238
+ codingAgentLoginDetail: z.ZodNullable<z.ZodString>;
239
+ codingAgentLoginRemedy: z.ZodNullable<z.ZodString>;
220
240
  activeRunTaskId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>;
221
241
  activeRunStartedAt: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>>;
222
242
  lockFilePath: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
@@ -232,6 +252,7 @@ export declare const workbenchParkedCodingQuestions_ResourceConfiguration_Initia
232
252
  question: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
233
253
  parkedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>;
234
254
  resumable: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
255
+ suspensionRef: z.ZodString;
235
256
  }, z.core.$strip>>;
236
257
  /**
237
258
  * THE DOSSIER (#1454, Step 5): what the creator was asked and what they said.
@@ -247,17 +268,23 @@ export declare const workbenchDossierEntries_ResourceConfiguration_Initializatio
247
268
  workbenchDossierEntryId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
248
269
  playbookRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
249
270
  questionRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
271
+ instanceKey: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
272
+ instancePurpose: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
250
273
  question: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
251
274
  kind: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
252
275
  options: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
253
276
  position: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNumber>;
254
- standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").WorkbenchDossierEntryStanding>>>;
277
+ standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof WorkbenchDossierEntryStanding>>>;
255
278
  value: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
256
279
  answeredAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodDate>>;
257
280
  answeredByRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
258
281
  playbookEligible: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
259
282
  askedNow: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
260
283
  affectsFamilies: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
284
+ subject: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof WorkbenchSpecificationArtifactConcern>>>;
285
+ outOfDate: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
286
+ outOfDateStepRefs: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
287
+ sharedWithPlaybookRefs: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
261
288
  }, z.core.$strip>>;
262
289
  /**
263
290
  * HOME's LINES (#1454): READ/LIST like every creation-plane projection, no write verb — a line is a
@@ -295,6 +322,29 @@ export declare const workbenchCreationOutcomes_ResourceConfiguration_Initializat
295
322
  tasksLanded: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodNumber>>;
296
323
  unavailableRuntimes: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodArray<z.ZodString>>>;
297
324
  }, z.core.$strip>>;
325
+ /**
326
+ * THE SECRETS SECTION (#1637): the provider secrets the application declares a use for, one row per
327
+ * (environment, secret), local and remote — names and standings, never values.
328
+ *
329
+ * `set` and `unset` per row. Both are `OVERRIDE_ALL` companion-side and run `wildo secrets set/unset`,
330
+ * the one writer of a secret: the value travels to it on stdin and is never held by the companion, so
331
+ * a secret has exactly one mutation path whether a person types it in a terminal or here. MEDIUM risk
332
+ * like every creation-plane write — it restarts the local runtimes that read the key, or replaces a
333
+ * deploy's GitHub secret.
334
+ */
335
+ export declare const workbenchApplicationSecrets_ResourceConfiguration_InitializationFactory: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<typeof WorkbenchApplicationSecrets_Operations, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
336
+ workbenchApplicationSecretId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
337
+ environmentName: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
338
+ envVarName: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
339
+ standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof ApplicationSecretStanding>>>;
340
+ kind: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").ApplicationSecretKind>>>;
341
+ ownerRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
342
+ description: z.ZodNullable<z.ZodString>;
343
+ capabilities: z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/saas-models").EngineCapability>>>;
344
+ runtimes: z.ZodArray<z.ZodString>;
345
+ creationEssential: z.ZodBoolean;
346
+ remoteLevel: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").ApplicationSecretRemoteLevel>>>;
347
+ }, z.core.$strip>>;
298
348
  export declare const workbenchCreationPlane_ResourcesConfigurationsFactoryMap: {
299
349
  workbenchPlaybooks: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<typeof WorkbenchPlaybooks_Operations, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
300
350
  workbenchPlaybookId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
@@ -318,6 +368,12 @@ export declare const workbenchCreationPlane_ResourcesConfigurationsFactoryMap: {
318
368
  family: z.ZodString;
319
369
  changedInputs: z.ZodArray<z.ZodString>;
320
370
  }, z.core.$strip>>>;
371
+ activeInLine: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodBoolean>>;
372
+ activationDetail: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodString>>;
373
+ openInstances: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodOptional<z.ZodArray<z.ZodObject<{
374
+ instanceKey: z.ZodString;
375
+ purpose: z.ZodString;
376
+ }, z.core.$strip>>>>;
321
377
  computedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>;
322
378
  }, z.core.$strip>>;
323
379
  workbenchBuildPlanTasks: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<typeof WorkbenchBuildPlanTasks_Operations, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
@@ -374,7 +430,7 @@ export declare const workbenchCreationPlane_ResourcesConfigurationsFactoryMap: {
374
430
  optionRef: z.ZodString;
375
431
  creatorMeaning: z.ZodString;
376
432
  }, z.core.$strip>>>;
377
- standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").WorkbenchDossierEntryStanding>>>;
433
+ standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof WorkbenchDossierEntryStanding>>>;
378
434
  answerSummary: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
379
435
  answeredAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodDate>>;
380
436
  askedNow: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
@@ -407,6 +463,7 @@ export declare const workbenchCreationPlane_ResourcesConfigurationsFactoryMap: {
407
463
  workbenchBuildDispatches: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<any, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
408
464
  workbenchBuildDispatchId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
409
465
  taskRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
466
+ objective: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
410
467
  phase: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").Workbench_BuildDispatchPhase>>>;
411
468
  startedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>;
412
469
  settledAt: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>>;
@@ -419,6 +476,7 @@ export declare const workbenchCreationPlane_ResourcesConfigurationsFactoryMap: {
419
476
  workbenchPlaybookRunId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
420
477
  runId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
421
478
  playbookRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
479
+ instanceKey: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
422
480
  traceSessionId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
423
481
  conversationId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
424
482
  state: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").Workbench_PlaybookRunState>>>;
@@ -454,10 +512,15 @@ export declare const workbenchCreationPlane_ResourcesConfigurationsFactoryMap: {
454
512
  kind: z.ZodString;
455
513
  options: z.ZodArray<z.ZodString>;
456
514
  }, z.core.$strip>>>;
515
+ routedToUserId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
457
516
  }, z.core.$strip>>;
458
517
  workbenchCodingLaneStatus: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<any, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
459
518
  workbenchCodingLaneStatusId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
460
519
  codingAgentRegistered: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
520
+ codingAgentProviderRef: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
521
+ codingAgentSignedIn: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>>;
522
+ codingAgentLoginDetail: z.ZodNullable<z.ZodString>;
523
+ codingAgentLoginRemedy: z.ZodNullable<z.ZodString>;
461
524
  activeRunTaskId: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>>;
462
525
  activeRunStartedAt: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>>;
463
526
  lockFilePath: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
@@ -473,22 +536,29 @@ export declare const workbenchCreationPlane_ResourcesConfigurationsFactoryMap: {
473
536
  question: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
474
537
  parkedAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodDate>;
475
538
  resumable: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
539
+ suspensionRef: z.ZodString;
476
540
  }, z.core.$strip>>;
477
541
  workbenchDossierEntries: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<typeof WorkbenchDossierEntries_Operations, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
478
542
  workbenchDossierEntryId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
479
543
  playbookRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
480
544
  questionRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
545
+ instanceKey: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
546
+ instancePurpose: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
481
547
  question: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
482
548
  kind: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
483
549
  options: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
484
550
  position: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNumber>;
485
- standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").WorkbenchDossierEntryStanding>>>;
551
+ standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof WorkbenchDossierEntryStanding>>>;
486
552
  value: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
487
553
  answeredAt: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodDate>>;
488
554
  answeredByRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
489
555
  playbookEligible: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
490
556
  askedNow: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
491
557
  affectsFamilies: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
558
+ subject: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof WorkbenchSpecificationArtifactConcern>>>;
559
+ outOfDate: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodBoolean>;
560
+ outOfDateStepRefs: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
561
+ sharedWithPlaybookRefs: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodArray<z.ZodString>>;
492
562
  }, z.core.$strip>>;
493
563
  workbenchCreationHomeLines: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<any, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
494
564
  workbenchCreationHomeLineId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
@@ -519,6 +589,19 @@ export declare const workbenchCreationPlane_ResourcesConfigurationsFactoryMap: {
519
589
  tasksLanded: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodNumber>>;
520
590
  unavailableRuntimes: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodArray<z.ZodString>>>;
521
591
  }, z.core.$strip>>;
592
+ workbenchApplicationSecrets: (resourcesRelationships: ResourceRelationship[]) => import("@wildo-ai/saas-models").ResourceConfiguration<typeof WorkbenchApplicationSecrets_Operations, WorkbenchCreationPlane_CoreOperations, z.ZodObject<{
593
+ workbenchApplicationSecretId: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>>;
594
+ environmentName: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
595
+ envVarName: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodString>;
596
+ standing: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof ApplicationSecretStanding>>>;
597
+ kind: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").ApplicationSecretKind>>>;
598
+ ownerRef: import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodNullable<z.ZodString>>;
599
+ description: z.ZodNullable<z.ZodString>;
600
+ capabilities: z.ZodArray<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("@wildo-ai/saas-models").EngineCapability>>>;
601
+ runtimes: z.ZodArray<z.ZodString>;
602
+ creationEssential: z.ZodBoolean;
603
+ remoteLevel: z.ZodNullable<import("@wildo-ai/zod-decorators").DecoratedPrimitiveZodType<z.ZodEnum<typeof import("./workbench-creation-plane.custom.shared.schemas").ApplicationSecretRemoteLevel>>>;
604
+ }, z.core.$strip>>;
522
605
  };
523
606
  export {};
524
607
  //# sourceMappingURL=workbench-creation-plane.custom.shared.resources-config.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workbench-creation-plane.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../../src/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workbench-creation-plane.custom.shared.resources-config.schemas.d.ts","sourceRoot":"","sources":["../../../src/workbench/workbench-creation-plane.custom.shared.resources-config.schemas.ts"],"names":[],"mappings":"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"}